Google Maps API 为我提供了一个字符串,其中包含德语字母:ö、ä、ü 以及可能还有其他几个特殊字符。
字符串看起来像:
@"(几个空格...)Frankfurt an der Oder(几个空格...)"
(1) 如果我尝试 stringByReplacing ...
并使空格消失,它看起来像:
@"FrankfurtanderOder"
... 这更糟。所以我需要删除第一个单词之前和最后一个单词之后的空格,而不是中间的空格。如何做到这一点?
(2) 有时 Google 会送我 @"W\U00fcrzburg, Deutschland"
... JSON
请求中没有任何关于编码的内容...可能是 JSON 解析器而不是 api 是问题所在?
但是,我还是得解决它。有什么想法吗?
谢谢你!
编辑:
对于 (2),我将采取解决方法并替换一些 UTF-8 字符......(即使这绝对不是最佳解决方案......)
ä -> ä
ö -> ö
ü -> ü
Ä -> Ä
Ö -> Ö
Ü -> Ü
ß -> ß
" -> "
\u00C4 -> Ä
\u00E4 -> ä
\u00D6 -> Ö
\u00F6 -> ö
\u00DC -> Ü
\u00FC -> ü
\u00DF -> ß
最佳答案
– stringByTrimmingCharactersInSet:
NSString *str = @" Frankfurt an der Oder ";
NSString *trimmed = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"\"%@\"", str);
NSLog(@"\"%@\"", trimmed);
2012-03-26 14:10:49.302 xx[3752:f803] " Frankfurt an der Oder "
2012-03-26 14:10:49.333 xx[3752:f803] "Frankfurt an der Oder"
关于ü。 \U00fc
出现在 UILabel 中,还是您只是从 NSLog 中获取它们?根据我的经验,有时 NSLog 不会打印解码后的字母,但它们在界面元素中看起来没问题。
关于iphone - 格式化 NSString(字符替换、UTF、...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871792/