【问题标题】: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:。正则表达式可以一次性捕获您尝试替换的所有字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多