从电话号码中删除格式以获取数字的好方法是什么?

Mac*_*ack 6 iphone cocoa

是否有更好或更短的方法在iPhone上使用Objective-C去除所有非数字字符?

NSString * formattedNumber = @"(123) 555-1234";
NSCharacterSet * nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];

NSString * digits;
NSArray * parts = [formattedNumber componentsSeparatedByCharactersInSet:nonDigits];
if ( [parts count] > 1 ) {
    digits = [parts componentsJoinedByString:@""];
} else {
    digits = [parts objectAtIndex:0];
}
return digits;
Run Code Online (Sandbox Code Playgroud)

kba*_*kba 4

您可以使用 RegEx 替换来替换[\D]任何内容。