从NSString获取数字

时间:2012-05-11 09:12:14

标签: cocoa-touch nsstring

我有一个像@"(256) 435-8115"@"256-435-81-15"这样的字符串。我只需要数字(这是一个电话号码)。这可能吗?我还没有找到NSString方法来做到这一点。

3 个答案:

答案 0 :(得分:6)

我认为有更简单的方法:

-(NSString*)getNumbersFromString:(NSString*)String{
    NSArray* Array = [String componentsSeparatedByCharactersInSet:
                      [[NSCharacterSet decimalDigitCharacterSet] invertedSet]];
    NSString* returnString = [Array componentsJoinedByString:@""];

    return (returnString);

}

答案 1 :(得分:1)

<强>输入:

NSString *stringWithPhoneNumber=@"(256) 435-8115";



NSArray *plainNumbersArray= 

[stringWithPhoneNumber componentsSeparatedByCharactersInSet:

[[NSCharacterSet decimalDigitCharacterSet]invertedSet]];



NSString *plainNumbers = [plainNumbersArray componentsJoinedByString:@""];


NSLog(@"plain number is : %@",plainNumbers);

<强>输出: 普通数字是:2564358115

答案 2 :(得分:0)

您可以使用stringByReplacingOccurrencesOfString: withString:删除不需要的字符,例如@"(" @""