【发布时间】:2012-10-11 01:39:24
【问题描述】:
我需要替换所有重音字符,例如
"à", "é", "ì", "ò", "ù"
与
"a'", "e'", "i'", "o'", "u'"...
因为在保存后重新加载带有重音字符的嵌套字符串时出现问题。
有没有办法在不对所有字符使用不同的字符串替换的情况下做到这一点?
例如,我宁愿避免这样做
text = text.replace("a", "a'");
text2 = text.replace("è", "e'");
text3 = text2.replace("ì", "i'");
text4 = text3.replace("ò", "o'");
text5 = text4.replace("ù", "u'");
等等
【问题讨论】:
-
如果解决“重新加载带有重音字符的嵌套字符串的问题”超出了您的能力或时间限制,那么避免此字符集/编码问题的更简单方法可能是存储经过 base64 编码的字符串。你可以使用commons.apache.org/codec/apidocs/org/apache/commons/codec/…
-
似乎有一个 api Normalize.normalize 来做这样的事情。检查这个post
-
@nandeesh:我认为 OP 正试图保留重音字符。
-
@BheshGurung Normalize api 确实根据我的理解转换为英文字母,但我从未尝试过
-
@rambocoder 基本上我需要使用这个解决方法,因为我还没有找到一个有效的解决方案来解决这个stackoverflow.com/questions/12990041/…
标签: java android string replace