Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将重音字母转换为常规字符_Java_Char - Fatal编程技术网

如何在Java中将重音字母转换为常规字符

如何在Java中将重音字母转换为常规字符,java,char,Java,Char,如何转换Æ和á编码为常规英文字符?我拥有的是这样的东西:来自巴拉那州的本地电视台á。如何将其转换为[Parana]?据我所知,无法自动执行此操作——您必须使用手动替换 看看icu4j或JDK 1.6规范化器: public String removeAccents(String text) { return Normalizer.normalize(text, Normalizer.Form.NFD) .replaceAl

如何转换
Æ
á编码为常规英文字符?我拥有的是这样的东西:来自巴拉那州的本地电视台
á。如何将其转换为[Parana]?

据我所知,无法自动执行此操作——您必须使用手动替换


看看icu4j或JDK 1.6规范化器:

public String removeAccents(String text) {
    return Normalizer.normalize(text, Normalizer.Form.NFD)
                     .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}

这个问题是重复的,请参考该问题的答案Æ;对应于int值为198的字符。您可能指的是“Normalizer.normalize(text,Normalizer.Form.NFD)”而不是“Normalizer.decompose(text,false,0)”,我想我是无意中把它放在了旧版本中。改为班级计划。感谢您的关注。就他的目的而言,Normalizer.Form.NFKD可能比Normalizer.Form.NFD更好,这取决于他想如何治疗韧带。例如:NFKD将
“fi”
转换为
“fi”
。表示
replaceAll(“[^\\p{ASCII}]”,“”)
public String removeAccents(String text) {
    return Normalizer.normalize(text, Normalizer.Form.NFD)
                     .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}