NSString是不可变的,不能删除字符或修改字符,它有一个子类NSMutableString,为可变字符串。
NSMutableString的两种创建方法:
- - (id) initWithCapacity:(NSUInteger)capacity
- + (id) stringWithCapacity:(NSUInteger)capacity
capacity只是一个最优值,字符串的大小并不限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多,也可以使用创建NSString的方法来创建NSMutableString,因为NSMutableString是NSString的子类。其用法如下:
#pragma mark 可变字符串的创建 void stringCreate() { // 预先分配10个字数的存储空间 NSMutableString *str = [[NSMutableString alloc] initWithCapacity:10]; // 设置字符串内容 [str setString:@"1234"]; // 拼接一个字符串 [str appendString:@"567"]; // 拼接字符串 [str appendFormat:@"age is %i and height is %.2f", 27, 1.55f]; // 替换字符串 NSRange range = [str rangeOfString:@"height"]; //NSRange range = NSMakeRange(7, 3); [str replaceCharactersInRange:range withString:@"no"]; // 插入字符串 [str insertString:@"abc" atIndex:2]; // 删除字符串 range = [str rangeOfString:@"age"]; [str deleteCharactersInRange:range]; NSLog(@"%@", str); // 释放对象 [str release]; }