ios - 从 NSString 中删除所有非数字字符,保留空格

标签 ios objective-c string cocoa-touch nsstring

我试图从 NSString 中删除所有非数字字符,但我还需要保留空格。这是我一直在使用的。

NSString *strippedBbox = [_bbox stringByReplacingOccurrencesOfString:@"[^0-9]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [_bbox length])];

如果我给它一个 Test 333 9599 999 的 NSString,它将返回 3339599999 但我需要保留空格。

我该怎么做?

最佳答案

通过创建一个您想要保留的字符集并使用 invertedSet 创建一个“所有其他”字符集来轻松完成。然后将字符串拆分成一个数组,由该集合中的任何字符分隔,并再次重新组合字符串。听起来很复杂但实现起来非常简单:

NSCharacterSet *setToRemove =   
    [NSCharacterSet characterSetWithCharactersInString:@"0123456789 "];
NSCharacterSet *setToKeep = [setToRemove invertedSet];

NSString *newString = 
        [[someString componentsSeparatedByCharactersInSet:setToKeep]
            componentsJoinedByString:@""];

结果:333 9599 99

关于ios - 从 NSString 中删除所有非数字字符,保留空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653085/

相关文章:

ios - 如何在 Xcode 中使用带有 api key 的 api?

ios - 使用 URL 删除 AVAsset

ios - 如何正确分组和最小化 UITextfields 的样式代码?

python - 在 Python pandas 中使用正则表达式查找组合数字和字母的特定字符序列

java - 为什么这个字符串的值为 null 但如果我检查它是否为 null 结果为 false?

ios - Swift 绘图代码在 tvOS 上的行为与 iOS 不同

ios - NSPredicate 用于给定范围内的多日事件

objective-c - 如何将 View 的框架转置到它的 super View 中?

iphone - 根据 iPhone 颜色更改颜色

c++ - 转换字符串大小写的函数?