1. interface 代表类声明,@implement 代表类实现,@encode 代表将object-c 中类型转换成指定字符串

2  当前char * 类型转化为字符串需要转化为NSString,转化代码如下:

     char cTest[]="hello World\0";
NSString *eString=[[NSString alloc]initWithBytes:cTest length: encoding:NSUTF8StringEncoding];

3.NSString 转化为 char *代码如下:

     NSString *eString=@"Hello world";
const char *cTestAgain1=[eString UTF8String];
const char *cTestAgain2=[eString cStringUsingEncoding:NSUTF8StringEncoding];

4.字符串的合并:

 NSString *gString=@"";
gString =[gString stringByAppendingString:@"hello world"]; 注:由于“stringByAppendingString”会将两个字符串合并,合并的结果以新的形象形式返回,所以gString对象执行后的指针都是新的。

5.字符串的拆分操作:

   NSString *gString=@"2013/10/01";
NSLog(@"[%@]",[gString componentsSeparatedByString:@"/"]);

6.如果需要从一个字符串中提取部分的内容:

    NSString *hString = @"Hello World";
hString = [hString substringWithRange:NSMakeRange(, )];
hString 最后的内容将会是@“Hello”.这里我们传入一个NSRange作为参数,NSRange其实是一个封装好的结构表示一个范围,他有两个值:位置和长度.
如果我们始终是从首字母取5位字母的话,以下代码可读性和速度会更好
1 NSString *hString = @"Hello World";
2 hString = [hString substringToIndex:5];

7.字符串比较大小的情况

    NSString *aString = @"Hello World";
NSString *bString=@"Hello worlf";
NSComparisonResult compareResult=[aString compare:bString];

8.从一个字符串查找特定内容:

    NSString *aString = @"Hello World";
NSRange range=[aString rangeOfString:@"Wor" options:NSCaseInsensitiveSearch];

9.在字符串中替换特定内容:

    NSString *jString=@"hello Man";
jString = [jString stringByReplacingOccurrencesOfString:@"Man" withString:@"World" options:NSCaseInsensitiveSearch range:NSMakeRange(0, jString.length)];

10.字符串大小写转换:

     NSString *kString=@"hello World";
NSLog(@"大写版本:%@",[kString uppercaseString]);
NSLog(@"小写版本:%@",[kString lowercaseString]);

11.数值转换代码:

    NSString *lString=@"3.1415926";
NSLog(@"%f",[lString floatValue]);
NSLog(@"%d",[lString intValue]);

12.字符串的路径相关使用:

NSString除了基本的字符串集成功能之外,更是提供了方便的路径操作功能供开发者使用。

比如现在有一个放在A用户的桌面上的一个名为test.txt的文件,此文件的路径如下:

NSString *aString=@"/Users/A/Desktop/test.txt";

当需要知道此路径文件的文件名时,代码如下:

aString=[aString lastPathComponent];

当需要知道此文件的文件类型时,代码如下:

aString=[aString pathExtension];

当需要知道此路径的用户名时,代码如下:

aString=[[aString pathComponents]objectAtIndex:1];

苹果中,在用户目录下可以使用符号“~”来代替用户路径,所以如果需要将“~”转换为全部路径,代码如下:

NSString *aString=@"~/Desktop/test.txt";

aString=[aString stringByExpandingTitldeInPath];

和stringByExpandingTitldeInPath逆向相对的方法为stringByAbbreviatingWithTildeInPath,他将全路径省略格式“~”

15.NSString 保存到硬盘(写入到文件):

NSString *aString=@"1234455";

NSError *error=nil;

[aString writeToFile:@"/Users/A/Desktop/test.txt" atomically:Yes encoding:NSUTF8StringEncoding error:&error];

其中writeToFile的第二个参数设置为Yes,表示让系统在写test.txt文件时不要直接写到目标路径去,而是开一个临时性的文件来保存,名字取成和test.txt不一样。待临时性文件保存完成后再替换掉原来保存的/users/A/Desktop/test.txt路径下的文件。这样的好处是,在系统在保存时发生错误了,原来的文件不会被破坏掉。


IOS FoundationKit (NSString) 知识汇总的更多相关文章

  1. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  2. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  3. iOS底层基础知识-文件目录结构

    一:iOS沙盒知识 出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件.网络资源等(也有例外,比如系统通讯录.照相机.照片等能在用户授权 ...

  4. iOS开发——总结篇&IOS开发基础知识

    IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...

  5. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  6. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  7. Vertica 数据库知识汇总篇

    Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...

  8. 【转】ACM博弈知识汇总

    博弈知识汇总 转自:http://www.cnblogs.com/kuangbin/archive/2011/08/28/2156426.html 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍 ...

  9. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

随机推荐

  1. 【G-BLASTN 1.0正式发布】

    [G-BLASTN 1.0正式发布]G-BLASTN使用GPU来加速NCBI-BLAST里的BLASTN模块,单块GTX780比四核CPU平均快6倍. http://www.comp.hkbu.edu ...

  2. 像web一样使用python

    使用传统的web开发技术,也就是html+js,然后搭配一个后端语言,已经成为当今web开发的固定模式了,为此也形成了众多的toolkit,譬如ror,django,各种js图形库更是玲琅满目,从非常 ...

  3. C++ 清空消息队列

    在button等被禁用后,可能须要它在禁用期间不去响应不论什么消息. 能够使用以下的语句片段: MSG msg; //消耗掉消息队列中的全部消息 while(::PeekMessage(&ms ...

  4. POJ 3692 Kindergarten (二分图 最大团)

    Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5660   Accepted: 2756 Desc ...

  5. Android Resource介绍和使用

    1. 相关文件夹介绍 文件 取值方式 string.xml getResource().getString(resourceId)或者getResource().getText(resourceId) ...

  6. HDOJ 1495 非常可乐 【BFS】

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. 算法精解(C语言描述) 第5章 读书笔记

    第5章 5.1 单链表 /* -------------------------------- list.h -------------------------------- */ #ifndef L ...

  8. ASPxComboBox-通过回车过滤结果集

    Dev ASP.NET组件中的ASPxComboBox可以方便的根据输入内容进行过滤,不过对于数据量较大或者用户数较多的情况下,这个功能会给服务器带来严重的负担,因此我们应该输入自己想要查询的字符串时 ...

  9. C++中#include的工作原理

    大多数人可能对“#include”比较熟悉,因为我们写C/C++程序的时候都会写的字符串之一,但是它是具体怎么工作的?或者它的原理是什么呢? 可能不太熟悉,也有可能没有去关心过.我们只关心程序能否正确 ...

  10. Hadoop 架构初探

    对流行Hadoop做了一些最基本的了解,暂时没太大感觉,恩先记点笔记吧. = = Hadoop 基本命令及环境安装 一.下载虚拟机镜像 目前比较流行的有以下三个: (CHD) http://www.c ...