西里尔语到拉丁语

我正在尝试将西里尔字母的单词写成拉丁语,以便可以在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

回到顶部