Ios stringByReplacingOccurrencesOfString中替换的字符串数

Ios stringByReplacingOccurrencesOfString中替换的字符串数,ios,objective-c,cocoa,Ios,Objective C,Cocoa,使用stringByReplacingOccurrencesOfString:,是否有方法获取已替换的字符串数 当然,我可以在使用replace之前搜索字符串,但由于replace可能会执行相同的搜索,因此在替换字符串时对字符串进行计数会更有效。您可以在NSMutableString类中使用replaceCurrencesofString:withString:options:range:。它用另一个给定字符串替换给定范围内给定字符串的所有匹配项,并返回替换次数 例如: NSMutableStr

使用stringByReplacingOccurrencesOfString:,是否有方法获取已替换的字符串数


当然,我可以在使用replace之前搜索字符串,但由于replace可能会执行相同的搜索,因此在替换字符串时对字符串进行计数会更有效。

您可以在
NSMutableString
类中使用
replaceCurrencesofString:withString:options:range:
。它用另一个给定字符串替换给定范围内给定字符串的所有匹配项,并返回替换次数

例如:

NSMutableString *str = [NSMutableString stringWithString:@"my name is shams"];

NSUInteger count = [str replaceOccurrencesOfString:@"shams"
                                        withString:@"shams ahmed"
                                           options:NSCaseInsensitiveSearch
                                             range:NSMakeRange(0, str.length)];

NSLog(@"replaced count: %u", count);

我认为这是不可能的。当然,NSMutableString的replace不需要返回结果字符串,因此返回被替换的字符串数。很好,谢谢!