我已经看过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
在上面添加了修改。谢啦。 –