iOS 中如何替换第一个匹配的字符串

awan 2017-01-20 08:59:11
示例代码如下:


NSString *utf8HtmlStr = @"xbabay";
utf8HtmlStr = [utf8HtmlStr stringByReplacingOccurrencesOfString:@"ba" withString:@"z" options:NSRegularExpressionSearch range:NSMakeRange(0, utf8HtmlStr.length)];


该段代码会替换掉2个ba,可是我只希望他替换掉第一个ba,求大神指导


...全文
787 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
scribbler 2017-01-20
  • 打赏
  • 举报
回复

NSString *utf8HtmlStr = @"xbabay";
NSString *occurrencesString = @"ba";
NSRange range = [utf8HtmlStr rangeOfString:occurrencesString];
utf8HtmlStr = [utf8HtmlStr stringByReplacingCharactersInRange:range withString:@"z"];
NSLog(@"%@",utf8HtmlStr);
awan 2017-01-20
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
^(.*?)ba 替换为 $1z
真大神也,太牛了,膜拜 另外问一个题外的话题,我这个需求的根本原因是我搜索文档很大,所以我希望它能在发现匹配字符串后就停止继续往下匹配,因为我对正则不太熟悉,所以想问下,按照现在的写法是能提高效率的吧?
  • 打赏
  • 举报
回复
^(.*?)ba 替换为 $1z
awan 2017-01-20
  • 打赏
  • 举报
回复
引用 楼主 awan 的回复:
示例代码如下:

NSString *utf8HtmlStr = @"xbabay";
utf8HtmlStr = [utf8HtmlStr stringByReplacingOccurrencesOfString:@"ba" withString:@"z" options:NSRegularExpressionSearch range:NSMakeRange(0, utf8HtmlStr.length)];
该段代码会替换掉2个ba,可是我只希望他替换掉第一个ba,求大神指导
引用 1 楼 hjywyj 的回复:
正则表达式
求大神指导,我已经换了好多种正则,都没达到目的
  • 打赏
  • 举报
回复
正则表达式

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧