微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSString批量替换字符串

1、使用Nsstring自定义方法

Nsstring* teststr = @"aaaak$kbbbbk$kcccc";
NSLog(@"%@",teststr);
NSMutableString* nsstrmutable = [[NSMutableString alloc] initWithString:teststr];
[nsstrmutable replaceOccurrencesOfString:@"k$k" withString:@"TTT" options:NSCaseInsensitiveSearch range:NSMakeRange(0,nsstrmutable.length)];
NSLog(@"%@",nsstrmutable);

输出

2015-12-14 10:32:45.070 delcmd[823:285871] aaaak$kbbbbk$kcccc
2015-12-14 10:32:45.073 delcmd[823:285871] aaaaTTTbbbbTTTcccc

2、使用CFString

Nsstring* teststr = @"aaaak$kbbbbk$kcccc";
NSLog(@"%@",teststr);

CFStringRef cfstr = (__bridge CFStringRef) teststr;
CFMutableStringRef cfstrmutable = CFStringCreateMutablecopy(NULL,CFStringGetLength(cfstr),cfstr);
CFStringFindAndReplace(cfstrmutable,CFSTR("k$k"),CFSTR("TTT"),CFRangeMake(0,CFStringGetLength(cfstrmutable)),kcfCompareCaseInsensitive);
Nsstring* str = (__bridge Nsstring*) cfstrmutable;
CFRelease(cfstrmutable);
NSLog(@"%@",str);

输出

2015-12-14 10:32:45.070 delcmd[823:285871] aaaak$kbbbbk$kcccc
2015-12-14 10:32:45.073 delcmd[823:285871] aaaaTTTbbbbTTTcccc

3、使用正则 匹配替换

Nsstring* teststr = @"aaaak$kbbbbk$kcccc";
NSLog(@"%@",teststr);

NSError* error = nil;
NSRegularExpression* exp = [[NSRegularExpression alloc] initWithPattern:@"(.*?)k\\$k(.*?)" options:NSRegularExpressionCaseInsensitive error:&error];
Nsstring* expstr = [exp stringByReplacingMatchesInString:teststr options:0 range:NSMakeRange(0,teststr.length) withTemplate:@"$1TTT$2"];
NSLog(@"%@",expstr);

输出

2015-12-14 10:32:45.070 delcmd[823:285871] aaaak$kbbbbk$kcccc
2015-12-14 10:32:45.073 delcmd[823:285871] aaaaTTTbbbbTTTcccc

原文地址:https://www.jb51.cc/regex/359708.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐