0

可能重复:
iphone sdk - 从字符串中删除除数字 0-9 之外的所有字符

我有一个带有电话号码的字符串

我的号码 = @"(334)687-6619";

我在用

NSString *phoneURLString = [NSString stringWithFormat:@"tel:%@", phoneNumber];
NSURL *phoneURL = [NSURL URLWithString:phoneURLString];
[[UIApplication sharedApplication] openURL:phoneURL];

拨打电话。但是由于“(”,“)”,我的方法无法拨打电话。

请建议我制作一个正确的字符串,例如

“1-800-555-1212”或类似的东西。

谢谢

4

3 回答 3

5

您可以使用

NSString *s = @"(334)687-6619";
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"("];
s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];

s = [s stringByReplacingOccurrencesOfString:@")" withString:@"-"];
NSLog(@"%@", s);

因此,它将用“”替换“(”并将“)”替换为“-”。

谢谢。

于 2013-01-16T04:27:48.697 回答
3

使用此代码

NSString *str = @"(334)687-6619";
str = [str stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""];
str = [str stringByReplacingCharactersInRange:NSMakeRange(3, 1) withString:@"-"];    
NSLog(@"%@",str);

输出为: 334-687-6619

于 2013-01-16T04:28:26.710 回答
2

要从字符串中删除字符:

NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"()"];
NSArray *comps = [string componentsSeparatedByCharactersInSet:set];
NSString *newString = [comps componentsJoinedByString:@""];
于 2013-01-16T04:26:34.330 回答