【发布时间】:2014-01-10 03:55:06
【问题描述】:
使用 stringByReplacingOccurrencesOfString: 时,有没有办法获取它已替换的字符串数?
当然我可以在使用替换之前只搜索字符串,但是由于替换可能会进行相同的搜索,所以在替换字符串时计算字符串会更有效吗?
【问题讨论】:
-
我认为这是不可能的。但你可以改用 NSScanner。
标签: ios objective-c cocoa
使用 stringByReplacingOccurrencesOfString: 时,有没有办法获取它已替换的字符串数?
当然我可以在使用替换之前只搜索字符串,但是由于替换可能会进行相同的搜索,所以在替换字符串时计算字符串会更有效吗?
【问题讨论】:
标签: ios objective-c cocoa
您可以在NSMutableString 类中使用replaceOccurrencesOfString: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);
【讨论】: