2013-12-21 4 views
0

При использовании stringByReplacingOccurrencesOfString :, есть способ получить количество строк, которые он заменил?Число строк, замененных в stringByReplacingOccurrencesOfString

Конечно, я мог бы просто найти строку перед заменой, но поскольку замена, вероятно, делает тот же поиск, было бы более эффективно считать строки при замене строки?

+1

Я не думаю, что это возможно. Но вместо этого вы можете использовать NSScanner. – dasdom

ответ

7

Вы можете использовать replaceOccurrencesOfString:withString:options:range: в классе NSMutableString. Он заменяет все вхождения данной строки в заданном диапазоне другой заданной строкой и возвращает количество замен.

пример:

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); 
+0

Ах, конечно, заменить NSMutableString не нужно возвращать строку результата, и поэтому возвращает количество замененных строк. Хорошо.Спасибо! – JiaYow

Смежные вопросы