如何删除(从字符串

时间:2013-01-16 04:18:32

标签: iphone ipad

  

可能重复:
  iphone sdk - Remove all characters except for numbers 0-9 from a string

我的电话号码为

  

mynumber = @“(334)687-6619”;

我正在使用

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

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

请建议我做一个正确的字符串

之类的东西
  

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

由于

3 个答案:

答案 0 :(得分:5)

您可以使用

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

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

因此,它将取代"("""& replace")"用" - "。

感谢。

答案 1 :(得分:3)

使用此代码

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

OUTPUT是: 334-687-6619

答案 2 :(得分:2)

从字符串中删除字符:

NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"()"];
NSArray *comps = [string componentsSeparatedByCharactersInSet:set];
NSString *newString = [comps componentsJoinedByString:@""];