【发布时间】:2013-03-27 05:17:48
【问题描述】:
我有以下代码用于从一些表示数字的字符串中删除多余的字符:
NSCharacterSet *charactersToKeep = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
NSCharacterSet *charactersToBeRemoved = [charactersToKeep invertedSet];
NSString *myString = [dictionary objectForKey:@"MyKey"];
myString = [myString stringByTrimmingCharactersInSet:charactersToBeRemoved];
myString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];
在stringByTrimmingCharactersInSet: 方法之后,除了逗号之外的所有多余字符都被删除。在调用stringByReplacingOccurencesOfString: 之后,逗号被删除。为什么第一次调用后没有删除?
下面是每行代码后 myString 的样例:
myString = " $9,959 "
myString = "9,959"
myString = "9959"
我也试过了
NSCharacterSet *charactersToBeRemoved = [NSCharacterSet decimalDigitCharacterSet];
得到了同样的结果。
【问题讨论】:
标签: ios nsstring nscharacterset