【发布时间】:2013-11-11 10:21:58
【问题描述】:
我想知道如果我想让一个字符串“干净”,我应该怎么做,即告诉用户在一个框中输入例如“+46 (70) - 22 88 88 2”。然后我想要清理字符串,所以输入只是数字,即“46702288882”等。 你怎么做呢?是否可以排除所有不是数字等的东西?
【问题讨论】:
标签: objective-c string nsstring
我想知道如果我想让一个字符串“干净”,我应该怎么做,即告诉用户在一个框中输入例如“+46 (70) - 22 88 88 2”。然后我想要清理字符串,所以输入只是数字,即“46702288882”等。 你怎么做呢?是否可以排除所有不是数字等的东西?
【问题讨论】:
标签: objective-c string nsstring
只需创建一个 NSCharacterSet 并删除所有不在其上的内容:
NSCharacterSet *charactersToRemove =
[[ NSCharacterSet alphanumericCharacterSet ] invertedSet ];
NSString *trimmedReplacement =
[[myString componentsSeparatedByCharactersInSet:charactersToRemove]
componentsJoinedByString:@""];
如果你想保留字符和数字,你可以使用alphanumericCharacterSet,或者对于数字只使用decimalDigitCharacterSet。
在此处查看文档和不同的字符集:
【讨论】: