2013-10-03 74 views
0

我剛剛更新到ios 7 sdk,我想修剪/替換字符之間的字符之間的空白,從ABAddressBook中取出數字。修改字符之間的空格

我已經嘗試使用下面的代碼替換「」,但此代碼does not似乎工作在ios7 sdk中,順便說一句,它在ios 6 sdk中工作正常。

NSString *TrimmedNumberField = [self.numberField.text 
stringByReplacingOccurrencesOfString:@" " withString:@""]; 

是否有任何其他方式我可以在IOS 7中做到這一點?

編輯:

這是我想要的電話號碼類型。

輸入:"+65 12 345 6789"

i。從NSLog的得到的輸出是" 12 345 6789"

我意識到,當我加入NSDictionary中並查看它在NSLog的,似乎它包含\ u00a0的UNIX碼錶示其中類似於「中間的點」,它不等於完全停止。

在此先感謝。

+1

目前我無法測試這個,但我不明白爲什麼這應該在iOS 6和iOS 7中有所不同。請給出輸入字符串,實際輸出和預期輸出的具體示例。 –

+0

@MartinR我添加了從NSLog獲得的輸入和輸出。 – munfai

+3

我目前無法訪問Mac,因此無法測試任何Objective-C代碼,但我真的很想知道代碼應該如何將「+65 12 345 6789」轉換爲「12 345 6789」。 –

回答

1

here

phoneNumber = [phoneNumber stringByReplacingOccurencesOfString:@"." withString:@""]; 

找到答案//其中@ 「」是通過鍵入選項 + 空格鍵

該號碼是從ABAddressbook中提取的。

-2

嘗試這個

[yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 

whitespaceCharacterSet對蘋果iOS的文件說

返回編碼的二進制格式接收器的NSData對象。

  • (NSData的*)bitmapRepresentation 返回值 的NSData對象編碼爲二進制格式的接收器。

討論 此格式適用於保存到文件或以其他方式傳輸或歸檔。

字符集的原始位圖表示是2^16位(即8192字節)的字節數組。位置n處的位的值表示具有十進制Unicode值n的字符的字符集中的存在。爲了測試與在原始位圖表示十進制的Unicode值n的字符的情況下,使用表達式如下面的:

所以嘗試這個

NSString *testString = @" Eek! There are leading and trailing spaces "; 
NSString *trimmedString = [testString stringByTrimmingCharactersInSet: 
          [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
+1

他已經試過了! –

+0

stringByTrimmingCharactersInSet只刪除字符串開始和結尾的字符。 –

+0

我覺得NSArray * words = [yourString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSString * nospacestring = [words componentsJoinedByString:@「」];可能會工作 –

-1

嘗試:

NSString *str = @" untrimmed string "; 
NSString *trimmed = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
+0

我的回答是錯誤的還是你瘋了去投票。 – Tushar

+0

添加評論你爲什麼投票我的答案我需要知道原因...? – Tushar

+0

stringByTrimmingCharactersInSet只刪除字符串開始和結尾的字符。 –

0

只要有空白,您可以循環字符串並刪除空格

NSString *someString = @"A string with multiple spaces and other whitespace."; 

NSMutableString *mutableCopy = [someString mutableCopy]; 

// get first occurance of whitespace 
NSRange range = [mutableCopy rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]]; 

// If there is a match for the whitespace ... 
while (range.location != NSNotFound) { 
    // ... delete it 
    [mutableCopy deleteCharactersInRange:range]; 
    // and get the next whitespace 
    range = [mutableCopy rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]]; 
} 

// no more whitespace. You can get back to an immutable string 
someString = [mutableCopy copy]; 

以上的字符串結果Astringwithmultiplespacesandotherwhitespace.

相關問題