2011-12-19 92 views
2

例如,我想用@「z」替換@「abcdabcd」中所有出現的@「a」和@「b」。目前,我正在做這個反覆調用stringByReplacingOccurencesOfString:withString:替換字符串中的字符串列表(Objective-c 2.0)

NSString *s1 = @"abcdabcd"; 
NSString *s2 = [[s1 stringByReplacingOccurencesOfString:@"a" withString:@"z"] 
       stringByReplacingOccurencesOfString:@"b" withString:@"z"]; 

有什麼更好的辦法?我沒有找到任何類似的方法,需要一個字符串數組來替換。

回答

6

您可以使用正則表達式:

NSString *s2 = 
[s1 stringByReplacingOccurrencesOfString:@"[ab]" 
           withString:@"z" 
           options:NSRegularExpressionSearch 
            range:NSMakeRange(0, s1.length)]; 
+3

(如果您的目標是OS X 10.7 +/iOS 4.0+)。 – Wevah 2011-12-20 00:01:51