objective-c - 替换字符串中的字符串列表(Objective-c 2.0)

标签 objective-c nsstring replace

例如,我想用@“z”替换@“abcdabcd”中所有出现的@“a”和@“b”。我目前正在通过重复调用stringByReplacingOccurencesOfString:withString:来做到这一点:

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

有什么更好的方法? 我没有找到类似的方法来替换字符串数组。

最佳答案

您可以使用正则表达式:

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

关于objective-c - 替换字符串中的字符串列表(Objective-c 2.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8568774/

相关文章:

iphone - 带有BOOL变量的init方法的 cocoa 风格指南?

ios - Mapbox iOS SDK 3.3.1 继承MGLPolygon

objective-c - NSString 的类别或 Web API 使英文单词复数化?

javascript - 如何使用正则表达式(javascript)替换所有

objective-c - NSMutableDictionary 的 setObject 函数崩溃

iphone - JSON 和核心数据 :Should I convert JSON into Core Data?

ios - 将 NS_OPTIONS 枚举 (UIRemoteNotificationType) 位掩码转换为 NSString 分隔值

iphone - NSString initWithData 在额外的引号中返回字符串值,如何解决?

Python 搜索文本文件并替换

linux - 如何使用 sed 替换一行中的第三个单词