2013-12-21 29 views
0

使用stringByReplacingOccurrencesOfString時,有沒有辦法獲取它所替換的字符串數?在stringByReplacingOccurrencesOfString中替換的字符串數

當然,我可以在使用替換之前搜索字符串,但由於替換可能執行相同的搜索,在替換字符串時計數字符串會更有效嗎?

+1

我不認爲這是可能的。但是您可以改用NSScanner。 – dasdom

回答

7

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

啊,當然,NSMutableString的replace不需要返回結果字符串,因此返回被替換的字符串數量。好的謝謝! – JiaYow