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

时间:2022-02-16 05:39:44
示例代码如下:


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


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


5 个解决方案

#1


正则表达式 iOS 中如何替换第一个匹配的字符串

#2


引用 楼主 awan 的回复:
示例代码如下:


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


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


引用 1 楼 hjywyj 的回复:
正则表达式 iOS 中如何替换第一个匹配的字符串


求大神指导,我已经换了好多种正则,都没达到目的 iOS 中如何替换第一个匹配的字符串

#3


^(.*?)ba
替换为
$1z

#4


引用 3 楼 hjywyj 的回复:
^(.*?)ba
替换为
$1z


iOS 中如何替换第一个匹配的字符串真大神也,太牛了,膜拜
另外问一个题外的话题,我这个需求的根本原因是我搜索文档很大,所以我希望它能在发现匹配字符串后就停止继续往下匹配,因为我对正则不太熟悉,所以想问下,按照现在的写法是能提高效率的吧?

#5



NSString *utf8HtmlStr = @"xbabay";
NSString *occurrencesString = @"ba";
NSRange range = [utf8HtmlStr rangeOfString:occurrencesString];
utf8HtmlStr = [utf8HtmlStr stringByReplacingCharactersInRange:range withString:@"z"];
NSLog(@"%@",utf8HtmlStr);

#1


正则表达式 iOS 中如何替换第一个匹配的字符串

#2


引用 楼主 awan 的回复:
示例代码如下:


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


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


引用 1 楼 hjywyj 的回复:
正则表达式 iOS 中如何替换第一个匹配的字符串


求大神指导,我已经换了好多种正则,都没达到目的 iOS 中如何替换第一个匹配的字符串

#3


^(.*?)ba
替换为
$1z

#4


引用 3 楼 hjywyj 的回复:
^(.*?)ba
替换为
$1z


iOS 中如何替换第一个匹配的字符串真大神也,太牛了,膜拜
另外问一个题外的话题,我这个需求的根本原因是我搜索文档很大,所以我希望它能在发现匹配字符串后就停止继续往下匹配,因为我对正则不太熟悉,所以想问下,按照现在的写法是能提高效率的吧?

#5



NSString *utf8HtmlStr = @"xbabay";
NSString *occurrencesString = @"ba";
NSRange range = [utf8HtmlStr rangeOfString:occurrencesString];
utf8HtmlStr = [utf8HtmlStr stringByReplacingCharactersInRange:range withString:@"z"];
NSLog(@"%@",utf8HtmlStr);