NSString类是不可变的类,即一旦NSString对象被创建,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
NSMutableString对象则代表一个字符序列可变的字符串,而且NSMutableString是NSString的子类,NSString类所包含的方法,NSMutableString都可直接使用,NSMutableString对象也可直接当成NSString对象使用。
- (void)appendString:(
//在一个字符串后面添加固定的字符串,新生成的字符串还保存在原字符串的地址处。
- (void)appendFormat:(
//在字符串后添加带变量的字符串
- (void)insertString:(
//在指定位置插入字符串
- (void)deleteCharactersInRange:(
//删除某个范围之间的字符串
- (void)replaceCharactersInRange:(
NSMutableString对象则代表一个字符序列可变的字符串,而且NSMutableString是NSString的子类,NSString类所包含的方法,NSMutableString都可直接使用,NSMutableString对象也可直接当成NSString对象使用。
- (void)appendString:(
NSString *
)aString
//在一个字符串后面添加固定的字符串,新生成的字符串还保存在原字符串的地址处。
- (void)appendFormat:(
NSString *
)format
, ...
//在字符串后添加带变量的字符串
- (void)insertString:(
NSString *
)aString
atIndex:(NSUInteger
)anIndex
//在指定位置插入字符串
- (void)deleteCharactersInRange:(
NSRange
)aRange
//删除某个范围之间的字符串
- (void)replaceCharactersInRange:(
NSRange
)aRange
withString:(NSString *
)aString
//用制定字符串替换某个区间的字符串
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString* book = @"<<crazy iOS book>>";
//创建一个NSMutableString对象
NSMutableString* str = [NSMutableString stringWithString: @"Hello"];
NSLog(@"现在的地址为:%p", str);
//追加固定字符串
//字符串所包含的字符序列本身发生了改变,因此无须重新赋值
[str appendString: @",iOS!"];
NSLog(@"现在的地址为:%p", str);
NSLog(@"%@", str);
//追加带变量的字符串
//字符串所包含的字符序列本身发生了改变,因此无须重新赋值
[str appendFormat: @"%@是一本不错的图书", book];
NSLog(@"%@", str);
//在指定位置插入字符串
//字符串所包含的字符序列本身发生了改变,因此无须重新赋值
[str insertString: @"fkit.org" atIndex: 6];
NSLog(@"%@", str);
//删除从位置开始往后的12个字符
[str deleteCharactersInRange: NSMakeRange(6, 12)];
NSLog(@"%@", str);
//将从位置6到位置9的字符串替换成objective-c
[str replaceCharactersInRange: NSMakeRange(6, 9) withString: @"objective-c"];
NSLog(@"%@", str);
}
return 0;
}
运行结果: