NSString类是不可变的类,即一旦NSString对象被创建,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
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
//用制定字符串替换某个区间的字符串
// // main.m // 03-可变字符串(NSMutableString) // // Created by 包世龙 on 15/8/19. // Copyright (c) 2015年 包世龙. All rights reserved. // #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; }
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-08-27 23:20:44