iva*_*var 12 java transliteration icu
我正试图让西里尔语成为拉丁文,所以我可以把它们放在网址中.我使用icu4j transliterator,但它仍然会给出这样奇怪的字符:Vil'ândimaa.它应该更像viljandimaa.当我复制那个网址时,这些字母会变成%..某些东西没用.
有谁知道怎么用icu4j把西里尔语变成az?
UPDATE
不能回答自己,但发现这个问题非常有用:将符号,口音字母转换为英文字母
McD*_*ell 15
修改您的标识符以执行您想要的操作.您可以使用带有Remove
变换的正则表达式来删除不需要的字符.
例如,考虑字符串"'Eéматематика":
"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"
Run Code Online (Sandbox Code Playgroud)
标识符"Any-Latin; NFD; [^\\p{Alnum}] Remove"
将音译为拉丁语(可能仍包含重音符号),将重音字符分解为字母和变音符号,并删除任何非字母数字的字符.结果字符串是"Eematematika".
您可以在ICU网站上阅读有关General Transforms下标识符的更多信息.
例:
//import com.ibm.icu.text.Transliterator;
String greek
= "'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430";
String id = "Any-Latin; NFD; [^\\p{Alnum}] Remove";
String latin = Transliterator.getInstance(id)
.transform(greek);
System.out.println(latin);
Run Code Online (Sandbox Code Playgroud)
测试ICU4J 49.1.