【问题标题】:Number of strings replaced in stringByReplacingOccurrencesOfStringstringByReplacingOccurrencesOfString 中替换的字符串数
【发布时间】:2014-01-10 03:55:06
【问题描述】:

使用 stringByReplacingOccurrencesOfString: 时,有没有办法获取它已替换的字符串数?

当然我可以在使用替换之前只搜索字符串,但是由于替换可能会进行相同的搜索,所以在替换字符串时计算字符串会更有效吗?

【问题讨论】:

  • 我认为这是不可能的。但你可以改用 NSScanner。

标签: ios objective-c cocoa


【解决方案1】:

您可以在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);

【讨论】:

  • 啊当然,NSMutableString的replace不需要返回结果字符串,因此返回的是被替换的字符串个数。很好,谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-04-26
  • 2021-12-20
  • 2010-09-28
  • 1970-01-01
  • 2013-05-03
  • 2015-09-25
  • 1970-01-01
相关资源
最近更新 更多