【发布时间】:2011-04-06 11:16:13
【问题描述】:
我正在从 AllContacts 获取数据;在该数据中,我得到了联系方式,例如 (998) 989-8989。使用此号码,我无法拨打电话。有人可以帮忙吗?提前致谢。
【问题讨论】:
标签: iphone nsstring contacts nsscanner
我正在从 AllContacts 获取数据;在该数据中,我得到了联系方式,例如 (998) 989-8989。使用此号码,我无法拨打电话。有人可以帮忙吗?提前致谢。
【问题讨论】:
标签: iphone nsstring contacts nsscanner
大家好
最后我用下面的代码解决了这个问题
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);
谢谢大家
【讨论】:
听起来你可以删除空格、括号和连字符。
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];
【讨论】: