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"];