西里尔语到拉丁语
我正在尝试将西里尔字母的单词写成拉丁语,以便可以在url中使用它们。我使用的是icu4j音译器,但它仍然会给出如下奇怪的字符: 。它应该更像
。当我复制该网址时,这些字母会变成%..没用的东西。
有人知道如何使用icu4j将西里尔字母转化为az吗?
已经无法回答自己,但是发现这个问题非常有用:将符号,重音字母转换为英文字母
回答:
修改您的标识符以执行所需的操作。您可以在Remove
转换中使用正则表达式删除不需要的字符。
例如,考虑字符串 “’Eéматематика” :
"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"
标识符"Any-Latin; NFD; [^\\p{Alnum}]
Remove"将音译为拉丁文(可能仍包含重音符号),将重音符号分解为字母和变音符号,并删除所有不是字母数字的内容。结果字符串为 “
Eematematika” 。
您可以在ICU网站的“ 常规转换 ”
下阅读有关标识符的更多信息。
例:
//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);
经过ICU4J 49.1。测试。
以上是 西里尔语到拉丁语 的全部内容, 来源链接: utcz.com/qa/406025.html