例如,我想用@“z”替换@“abcdabcd”中所有出现的@“a”和@“b”。我正在这样做,重复调用stringByReplacingOccurencesOfString:withString:
:
NSString *s1 = @"abcdabcd";
NSString *s2 = [[s1 stringByReplacingOccurencesOfString:@"a" withString:@"z"]
stringByReplacingOccurencesOfString:@"b" withString:@"z"];
什么是更好的方式?我没有找到任何类似的方法来取代字符串数组。
答案 0 :(得分:6)
您可以使用正则表达式:
NSString *s2 =
[s1 stringByReplacingOccurrencesOfString:@"[ab]"
withString:@"z"
options:NSRegularExpressionSearch
range:NSMakeRange(0, s1.length)];
答案 1 :(得分:3)
还有NSMutableString的replaceOccurrencesOfString:withString:options:range:
方法(因此您不必为要进行的每个替换调用创建新的NSString对象)。为您链接的文档。