Foundation中的可变字符串对象

区别于NSString,可变字符串NSMutableString对象的所引用的字符串内容可以被修改,这种修改包括:删除、插入、替换等。

而NSString是NSMutableString的子类,本身并不能修改指向的字符串,只能改变指向的字符串。

Foundation提供了对于可变字符串对象的修改,现在看几个小需求。

1.在str字符串的第2个字符串的位置插入字符串replace

NSMutableString *str = [NSSMutableString stringWithString:@"today is June 22"];
NSString *replace = @"fighting";
[str insertString:replace atIndex:2];


2.追加tail到str

NSMutableString *tail = @"tomorrow is June 23";
[str appendString:tail];


3.使用NSRange删除指定范围的字符串

NSRange range = [str rangeOfString:@"June"];
if (range.location != NSNotFound) {
  [str deletedCharactersInRange:range];
  //[str deleteCharactersInRange:NSMakeRange(8,4);
  NSLog(@"str = %@", str];
}


4.对字符串中的子串进行替换操作

// 把England替换成Argentina
NSString *replace = @"Argentina";
NSMutableString *source = @"The winner of FIFA CUP is England";
NSRange range = [source rangeOfString:@"England"];
if (range.location != NSNotFound) {
  [source replaceCharactersInRange:rang 
                              withString:replace];
  NSLog(@"%@", source);
}

5.最后是把字符串中的字符全部替换
// 将XTULGQLEWOWXXLXXTUWP中的X全部替换成O
NSMutableString *beConfident = @"XTULGQLEWOWXXLXXTUWP"
NSString *replace = @"OV";
NSRange range = [beConfident rangeOfString:X];
while(range.location != NSNotFound) {
  [beConfident replaceCharactersInRange:range withString:replace];
  range = [beConfident rangeOfString:replace];
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值