0

重複の可能性:
iphone sdk-文字列から0〜9の数字を除くすべての文字を削除します

私は電話番号の文字列を持っています

mynumber = @ "(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 に答える