提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
OC中有两个字符串,一个是NSString,这是不可变的字符串,另一个是NSMutableString,这是代表字符序列可变的字符串。
一、创建字符串
NSString代表字符序列不可变的字符串,NSString的功能非常强大,Objective-C的字符串处理比C语言字符串简单、易用的多。
NSString具有的功能如下:
1.创建字符串:创建字符串既可使用以init开头的实例方法,也可以使用以string开头的类方法,当然也可以直接用@""的形式给出字符串直接量。
2.读取文件或网络URL来初始化字符串
3.将字符串内容写入文件或URL
4.获取字符串长度,既可获取字符串内包括的字符个数,也可获取字符串包括的字节个数。
5.获取字符串中的字符或字节,既可获取指定位置的字符,也可获取指定范围的字符。
6.获取字符串对应的C风格字符串
7.连接字符串
8.分隔字符串
9.查找字符串内指定的字符和子串
10.替换字符串
11.比较字符串
12.字符串大小比较
13.对字符串中的字符进行大小写转换
实际上,NSString文档中还介绍还介绍了大量功能和方法,本书将介绍NSString最常用的功能。下面的程序示范了创建NSString对象的几种方式。
代码:
这里我们示范了三种创建字符串的方法
- 一种是将数组初始化字符串,方法用initWithCharacters。
- 第二种是将c类型的字符串转换为对象。方法用stringWithUTF8String。
- 第三种时读取文件内容初始化NSStirng对象
二、NSStirng的常用功能
1、stringByAppendingString:
翻译:将串赋给串
将传入的参数所指向的对象的字符串接到调用该方法的实例之后。
2、UTF8String
代码:
const char *cstr = [str UTF8String]
功能:
获取字符串对应风格的c字符串。
3、stringByAppendingFormat:
这个翻译可能有点抽象,简单来说就是我们这个方法可以传入多个参数,然后将多个参数拼接在一起组成一个新的字符串来重新赋给指针变量,但原对象不改变。
代码:
4、length
NSLog(@"str的字符个数为%lu", [str length]);
统计str的字符个数。
5、substring为后缀的方法
substringToIndex:获取从str的前10个字符组成的字符串
substringFromIndex:从第五个字符开始,与后面的字符组成的字符串
substringWithRange:获得范围内的字符组成的字符串。
6、rangeOfString
因为我们返回的是一个NSRange类型,所以我们的变量的类型需要使用NSRange。
注意哦NSRange实质上是一个结构体。
返回长度与出现的起始位置
7、uppercaseString
小写字母全转换为大写
三、可变字符串(NSMutableString)
NSString类不可改变,一旦对象被创建,这个对象中的字符序列是不可改变的,一定要记得这点,我们做出的所有修改操作其实都是对指针变量进行操作
但我们的NSMutableString代表一个字符序列可变的字符串,而且NSMutableString有NSString的是所有方法。