我已經看過this question,但沒有解決方案。 這是問題所在。如何替換NSString中 xa0字符的出現
po [myNumberFormatter stringFromNumber:myNumber]
輸出 - >(ID)$ 4 = 1.500,00
p (char) [(NSString *)[myNumberFormatter stringFromNumber:myNumber] characterAtIndex:1]
輸出 - >(炭)$ 5 = '\ XA0'
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingOccurrencesOfString:@"\xa0" withString:@" "]
輸出 - > (id)$ 6 = 1.500,00
但有一點需要注意的是,在屏幕上,值1.500,00看起來像1 500,00。 但有沒有什麼辦法可以將字符串中的'\ xa0'字符轉換爲@「」?
以下解決方案已經可以工作,但它存在將未包含的所有內容轉換爲空白字符的問題。
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingSequenceOfCharactersInSet:(NSCharacterSet *)[[NSCharacterSet characterSetWithCharactersInString:@",."] invertedSet] with:@" "]
編輯 --------------
我試過下面的答案,我認爲這是錯誤的監守
po [(NSString *)[numberFormatter stringFromNumber:theNumber] stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "]
仍產生了相同的結果(\ xa0字符仍未被刪除)。但是當我沒有將它放在調試器中,而是將它放在代碼中的NSString中時,正確答案被存儲並且\ xa0字符被刪除。猜猜我不應該單獨依靠調試器日誌。
我試圖@ 「\ u00a0」,但是這是行不通的。任何其他建議?如果需要,我可以告訴你整個代碼。 –
我在我自己的代碼中這樣做,它工作正常。您可以嘗試用代碼中的實際非休息空間替換\ u00a0。從編輯菜單中選擇特殊字符。轉到00a0字符並插入到您的代碼中。 – rmaddy
在上面添加了修改。謝啦。 –