【问题标题】:Replacing a list of characters in NSString替换 NSString 中的字符列表
【发布时间】:2011-04-06 23:33:45
【问题描述】:
我想替换我的 NSString 中的字符列表,但我不想多次使用 - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement 方法。有什么快速解决方法吗?
【问题讨论】:
标签:
iphone
objective-c
cocoa-touch
ios
nsstring
【解决方案1】:
这是我用来从字符串中删除任何数字的方法。它可能不是最有效的解决方案,但它是最短的。
NSString* s = @"String to be fixed 3423";
NSCharacterSet* charSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
s = [[s componentsSeparatedByCharactersInSet:charSet] componentsJoinedByString:@""];
【解决方案2】:
NSString 实例无法更改。要么使用创建新字符串(可能使用您提到的方法),要么使用 NSMutableString。
【解决方案3】:
如果您使用的是 iOS 4.x,则可以使用 NSRegularExpression stringByReplacingMatchesInString:。正则表达式可以一次性捕获您尝试替换的所有字符串。