2011-09-19 26 views

回答

3

思想爲I型,這應該這樣做:

[[string componentsSeparatedByCharactersInSet: 
     [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] 
componentsJoinedByString:@""] 

這樣:

  1. 構建所有的數字字符
  2. 反相,組成的字符集,從而獲得由除數字字符以外的所有東西組成的集合
  3. 要求NSString返回僅包含不在集合(2)中的東西的文本段的數組(僅限於NGS是在設置中的(1))
  4. 要求的NSArray到所有的字符串粘合在一起,將每個

之間的空字符串如果寫爲爲了清楚多個語句:

NSCharacterSet *decimalDigialCharacterSet = 
            [NSCharacterSet decimalDigitalCharacterSet]; 

NSCharacterSet *everythingButDecimalDigialCharacterSet = 
             [decimalDigialCharacterSet invertedSet]; 

NSArray *componentsNotInSecondSet = [string componentsSeparateByCharactersInSet: 
              everythingButDecimalDigialCharacterSet]; 

NSString *componentsGluedTogether = [componentsNotInSecondSet 
                componentsJoinedByString:@""]; 
+0

什麼是字符串變量是的NSString或的NSMutableString?請告訴我 –

+0

缺少一個右括號:'[[字符串componentsSeparatedByCharactersInSet:[NSCharacterSet decimalDigitCharacterSet] invertedSet] componentsJoinedByString:@ 「」]' – zaph

+0

@ CocoaFUu謝謝 –

0

用[ NSString stringByReplacingOccurancesOfString:]多次,並用@「」替換@「(」,@「)」和@「」。

不會發布代碼,我相信你可以從這裏弄清楚。它顯然是最快最骯髒的方式。 ?

1
NSString *telnumber = @"(02) 9251 5600"; 

telnumber = [telnumber stringByReplacingOccurrencesOfString:@"(" withString:@""]; 
telnumber = [telnumber stringByReplacingOccurrencesOfString:@")" withString:@""]; 
telnumber = [telnumber stringByReplacingOccurrencesOfString:@" " withString:@""];