0

我正在从 AllContacts 获取数据;在该数据中,我得到了联系方式,例如 (998) 989-8989。使用此号码,我无法拨打电话。有人可以帮忙吗?提前致谢。

4

2 回答 2

1

大家好

最后我用下面的代码来解决这个问题

NSString *originalString = @"(998) 989-8989";
NSMutableString *strippedString = [NSMutableString 
                                   stringWithCapacity:originalString.length];

NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSCharacterSet *numbers = [NSCharacterSet 
                           characterSetWithCharactersInString:@"0123456789"];

while ([scanner isAtEnd] == NO) {
    NSString *buffer;
    if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) {
        [strippedString appendString:buffer];

    } else {
        [scanner setScanLocation:([scanner scanLocation] + 1)];
    }
}

NSLog(@"%@", strippedString);

谢谢大家

于 2011-04-07T09:18:55.280 回答
0

听起来你可以删除空格、括号和连字符。

NSString *phoneNumber = @"(998) 989-8989";
phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@"-" withString:@""];
phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@"(" withString:@""];
phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@")" withString:@""];
phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
phoneNumber = [@"tel://" stringByAppendingString:phoneNumber];
[[UIApplication sharedApplication] openURL:phoneNumber];
于 2011-04-06T11:56:14.243 回答