NSMutableString

可变字符串,继承自NSString

之前介绍的NSString为不可变字符串,任何操作都不能在原字符串上进行。而NSMutableString不同,作为可变字符串,可直接对原字符串进行编辑。

注:因为NSMutableString继承与NSString,所以NSString的方法,NSMutableString依然可用。他们的方法,最大的区别在于,NSString会返回新的字符串,而NSMutableString对原字符串处理,返回void

同样,对于NSMutableString也有很多常用方法,本讲将介绍:

初始化

使用NSString的几种初始化方法,依然可以对NSMutableString有效,写法如下:

  1. NSMutableString *string1 = [NSMutableString string];
  2. NSMutableString *string2 = [NSMutableString stringWithFormat:@"abc"];

下面介绍两种独有的:

  1. // 给出初始长度,进行字符串的初始化(这个初始长度不用太准确,因为系统分配的内容会随着字符串长度而变动)
  2. NSMutableString *string3 = [[NSMutableString alloc] initWithCapacity:4];
  3. NSMutableString *string4 = [NSMutableString stringWithCapacity:4];

添加

  1. [string2 appendString:@"def"]; // 从尾部追加字符串@"def"
  2. [string2 appendFormat:@"%d", 9]; // 从尾部格式化追加字符串@"9"
  3. [string2 insertString:@"000" atIndex:0]; // 在第0位插入字符串@"000"

删除

  1. // 从0开始,删除3个字符
  2. [string2 deleteCharactersInRange:NSMakeRange(0, 3)];

修改

  1. // 按范围替换
  2. [string2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"vvv"];
  3. // 完全替换
  4. [string2 setString:@"333"];