Objective-C 的可变字符串 NSMutableString

 

 NSString NSObject的子类

NSString是不可变的,意思是他声明的对象我们不可以改变,如果要改变,可以使用它的子类:NSMutableString

 

你可以使用类方法:stringWithCapacity来创建一个新的NSMutableString,声明如下:


*  (id) stringWithCapacity: (unsigned) capacity:

 

可按如下方法声明一个新的可变字符串:

NSString *str1;

Str1 = [NSMutableString stringWithCapacity:42];

 

可以使用appendStringappendFormat来对可变字符串操作:

  - voidappendString: (Nsstring *) aString;

  -  (void) appendFormat: (NSString *) Format;

 

appendString 接受参数aString,然后将其复制到接受对象的末尾。

appendFormat类似,他将格式化的字符串附加在接受对象的末尾,而不是创建新的对象。


EXP:

NSMutableString *string;

string = [NSMutableString stringWithcapacity:50];

[string appendString: @”hello,there”];

[string appendFormat: @”human %d!”, 39];

 这段代码的string最后被赋值为:hello,there human 39!

 

你还可以使用deleteCharactersInRange:方法来删除字符串中的字符:

- void deleteCharactersInRange: (NSRange) range;

 

通常将deleteCharactersInRange: rangeOfString:连在一起使用,NSMutableString可以使用NSString的全部功能,包括rangeOfString:、字符串比较和其他任何功能。


例如,你列了一个所有朋友列表,你突然又不喜欢Jack了,想把他从朋友列表里删除:


//朋友列表初始化

NSMutableString *friends;

friends = [NSMutableString stringWithcapacity: 50];

[friends appendString: @”level fang jack even”];

 

//找到jack并且删除

NSRange jackRange;

jackRange = [friends rangeOfString: @”jack”];

jackRange.length++; //eat the space that follows

[friends deleteCharactersInRange: jackRange];

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值