在java中,可以将非英文字符转换为英文字符。
例如,我想:
Zdeborová --> Zdeborova
Krząkała --> Krzakala
Sr´amek --> Sramek
等......
当我尝试以下方法时
String t1 = Normalizer.normalize("Krząkała", Normalizer.Form.NFD);
String t2 = t1.replaceAll("[^\\p{ASCII}]", "");
String t3 = t2.replaceAll("\\p{M}", "");
OR
String t4 = org.apache.commons.lang3.StringUtils.stripAccents("Krząkała");
结果他们都给了Krz?ka?a?
我可以在oracle sql中简单地说这个过程:
select
REGEXP_REPLACE(replace(convert(trim(upper('Krząkała')), 'us7ascii'), '_', ' '), '[^A-Z ]', '') std
来自双重;
并获得KRZAKALA。
我认为在java中它也必须如此简单???