java - 替换所有非 latin-1 字符的 API 或方法

标签 java utf-8 replace latin1

我正在处理第 3 方 API/Web 服务,他们只允许在其 XML 中使用 latin-1 字符集。是否有现有的 API/方法可以查找并替换字符串中的所有非 latin-1 字符?

例如:凯文

有办法制作那个凯文吗?

最佳答案

使用 ICU4J,

public String removeAccents(String text) {
    return Normalizer.decompose(text, false, 0)
                 .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}

我在http://glaforge.appspot.com/article/how-to-remove-accents-from-a-string找到了这个例子

在 java 1.6 中,必要的规范化器可能是内置的。

关于java - 替换所有非 latin-1 字符的 API 或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232201/

相关文章:

python - 在python中将任何编码转换为utf8?

java util UUID 与 Hornetq UUID

java - 将 self 添加到构造函数中的静态列表

.net - 为什么我的文件结果文件名损坏了 IE9?

php - PDO OCI 截断大型多字节 CLOB

javascript - 替换 p 标签内选定的文本

arrays - Excel VBA 用两个数组替换文本

java - Collections.sort() 影响所有 ArrayList。如何只对一个列表进行排序而不对其他列表进行排序?

java - 如何正确设置相机?

Java Regex 替换由非字母数字字符包围的字符串