oc之字符串基本操作方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"This is string A";
NSString *search, *replace;
NSMutableString *mstr;
NSRange substr;
//从不可变字符串创建可变字符串
mstr = [NSMutableString stringWithString: str1];//将str1的内容复制给mstr
NSLog (@"%@", mstr);
//插入字符
[mstr insertString:@"mutable" atIndex: 7];
NSLog(@"%@", mstr);//没有返回值,因为被修改的对象是可变字符串
//插入末尾进行有效拼接
[mstr insertString:@"and string B" atIndex: [mstr length]];
NSLog(@"%@", mstr);
//直接使用appendString
[mstr appendString:@" and string C"];
NSLog(@"%@", mstr);
//根据范围删除字符串
[mstr deleteCharactersInRange:NSMakeRange(16, 13)];//从索引数16开始,删除13个字符
NSLog(@"%@", mstr);
//查找然后将其删除
substr = [mstr rangeOfString: @"string B and "];
if(substr.location !=NSNotFound){
[mstr deleteCharactersInRange: substr];
NSLog(@"%@", mstr);
}
//直接设置为可变的字符串
[mstr setString:@"This is string A"];//setstring方法可以用来设置可变字符串对象的内容
NSLog(@"%@", mstr);
//替换一些字符
[mstr replaceCharactersInRange:NSMakeRange(8,8)withString:@"a mutable string"];
NSLog(@"%@", mstr);//可以使用大小相等或不等的字符串替换另一个字符串
//查找和替换
search = @"This is";
replace = @"An example of";
substr = [mstr rangeOfString:search];
if(substr.location != NSNotFound){
[mstr replaceCharactersInRange:substr withString:replace];
NSLog(@"%@", mstr);
}
//查找和替换所有的匹配项。
search = @"a";
replace = @"X";
substr = [mstr rangeOfString: search];
while(substr.location != NSNotFound){
[mstr replaceCharactersInRange: substr withString: replace];
substr = [mstr rangeOfString: search];
}
NSLog(@"%@", mstr);
}
return 0;
}
//如果替换字符串还包括搜索字符串(例如,使用字符串“aX"替换字符串”a"),那么将会陷入无限循环
//NSMutablestring类还包含一个名为replaceOccurrencesOfString:withString:options:range的方法,可以用来执行搜索并全部替换操作。
//[mstr replaceOccurrencesOfString: search withString: replace options: nil range:NSMakeRange(0, [mstr length])];可以避免潜在的无限循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值