我试图从 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/