キリル文字からラテン文字へのicu4j

icu java transliteration
キリル文字からラテン文字へのicu4j

キリル文字をラテン語にすることで、URLで使用できるようにしています。 icu4j transliteratorを使用していますが、それでも* Vilʹândimaa *のような奇妙な文字が表示されます。 * viljandimaa *のようになります。 そのURLをコピーすると、これらの文字は%に変わります。 役に立たない何か。

icu4jでキリル文字をa-zにする方法を知っている人はいますか?

更新

すでに自分自身に答えることはできませんが、非常に役立つこの質問を見つけました。

  11  6


ベストアンサー

identifierを変更して、必要な処理を実行します。 「Remove」トランスフォームで正規表現を使用して、不要な文字を削除できます。

たとえば、文字列_ “‘Eéматематика” _を考えます。

"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"

識別子 `” Any-Latin; NFD; [^ \\ p {Alnum}] Remove “`は、ラテン語(まだアクセントを含む場合があります)に音訳し、アクセント付き文字を文字と発音区別記号に分解し、英数字。 結果の文字列は_ “Eematematika” _です。

ICU Webサイトのhttp://userguide.icu-project.org/transforms/general[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);

ICU4J 49.1。に対してテスト済み

15


icu4jについてはわかりませんが、http://en.wikipedia.org/wiki/Cyrillic_%28Unicode_block%29 [Unicodeテーブルでキリル文字が取ります]の範囲はごくわずかです。 動作が不明確なサードパーティのライブラリに中継する代わりに、キリル文字ごとに音訳シーケンスを定義し、自分で翻訳しました。

P.S. 「viljandimaa」という言葉はどの言語に由来しますか? 私にはキリル文字のように聞こえません…​

0


ご覧ください:https://ru.stackoverflow.com/questions/633355/%D0%9F%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1% 8C-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%BF%D1% 80%D0%B8%D0%BC%D0%B5%D1%80-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82 %D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%BD%D0%B0-java [https://ru.stackoverflow.com/questions/633355/ Показать-правильный-пример-транслитерации-на-java]

必要性を追加:

    com.ibm.icu
    icu4j
    63.1

そして音訳する:

var CYRILLIC_TO_LATIN = "Latin-Russian/BGN"
// var CYRILLIC_TO_LATIN = "Russian-Latin/BGN"
Transliterator toLatinTrans = Transliterator.getInstance(CYRILLIC_TO_LATIN);
String result = toLatinTrans.transliterate(st);
System.out.println(result);

0


タイトルとURLをコピーしました