2013-01-16 81 views
0

可能重複:
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」或類似的東西。

感謝

+0

@CarlVeazey你確定這是重複的。其他線程刪除 ' - ' 從字符串太.. – Krishnabhadra

+0

我得到了我期待的結果。 – iscavengers

+0

哎呀.. @Carl Veazey你的權利.. – Krishnabhadra

回答

2

從字符串中刪除字符:

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

可以使用

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

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

那麼,它將取代 「(」 與 「」 &替換「) 「與」 - 「。

謝謝。

+2

如果你在兩個步驟(這本身就是多餘的)這樣做,你甚至不必使用字符集和分裂和連接技巧,你可以只需使用'stringByReplacingOccurrencesOfString:withString:'。 – 2013-01-16 04:29:38

+1

好的我的朋友,它正在工作。問題是關於替換字符串。所以我說了。 –

+0

s = [s stringByReplacingOccurrencesOfString:@「)」withString:@「 - 」];也在工作。感謝隊友.. :) –

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

+1

好的答案@paras joshi .... – Vishal