我尝试将带有特殊字母的字符串(例如ä,à,è,ç,î,ñ.é等)转换为ascii字母。 我的例子:
String newName = oldName.replaceAll("\\s","").replaceAll("[^a-zA-Z0-9]", "");
这很好用,除了所有特殊字母都消失了...... 有没有一种简单的方法可以将这些字母“转换”为ascii格式?
例如“FrançoisMüdé”将成为“francoismuede”。 我该如何实现呢?
答案 0 :(得分:1)
一般来说,ASCII
是非常差的旧字符表,实际上它不包含想要的字符。
但是你的问题呢,它与ASCII
表无关。 Java与unicode
一起使用。您需要的就是将这些符号包含在正则表达式中,例如[^a-zA-Z0-9äàèçîñö]
。
核心问题是a-z
或A-Z
(称为symbol classes
)等常规结构不包含此类特殊国家符号。您必须手动包含它们。