Ich muss etwas ziemlich einfaches tun, aber ohne Hash-Mapping harte Codierung.Transliteration von kyrillisch nach lateinisch ICU4j Java
Ich habe eine Zeichenfolge s und es ist in Kyrillisch Ich brauche eine Art von Beispiel, wie man es in lateinische Zeichen mit einem benutzerdefinierten Filter einer Art (um ein rein lateinisches Beispiel zu geben, um jemanden nicht zu verwirren, wenn String s = Sniff; Ich will, dass es nach oben schnüffelt und sie in etwas anderes verwandelt (es könnte auch Kombinationen geben.)
Ich kann sehen, dass ICU4j so etwas tun kann, aber ich habe keine Ahnung, wie ich es erreichen kann kann keine Arbeitsbeispiele (oder ich bin einfach nur dumm) finden.
Jede Hilfe sehr geschätzt wird.
Dank
Mit freundlichen Grüßen,
PS Ich brauche eine Batch-Übersetzung. Ich interessiere mich nicht für Stile oder dynamische Transliteration, nur ein grundlegendes Beispiel dafür, wie ein ICU4j Stapel-Transliterator aussehen würde.
K Ich habe es tatsächlich bekommen.
import com.ibm.icu.text.Transliterator;
public class BulgarianToLatin {
public static String BULGARIAN_TO_LATIN = "Bulgarian-Latin/BGN";
public static void main(String[] args) {
String bgString = "Джокович";
Transliterator bulgarianToLatin = Transliterator.getInstance(BULGARIAN_TO_LATIN);
String result1 = bulgarianToLatin.transliterate(bgString);
System.out.println("Bulgarian to Latin:" + result1);
}
}
Auch ein zuletzt für eine regelbasierte Umschrift (wenn Sie nicht wünschen, die bereits bestehenden einmal verwenden oder wollen einfach nur etwas nach Maß)
import com.ibm.icu.text.Transliterator;
public class BulgarianToLatin {
public static String BULGARIAN_TO_LATIN = "Bulgarian-Latin/BGN";
public static void main(String[] args) {
String bgString = "а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ю я \n Юлиян Джокович";
String rules="::[А-ЪЬЮ-ъьюяѢѣѪѫ];" +
"Б > B;" +
"б > b;" +
"В > V;" +
"ТС > TS;" +
"Тс > Ts;" +
"ч > ch;" +
"ШТ > SHT;" +
"Шт > Sht;" +
"шт > sht;" +
"{Ш}[[б-джзй-нп-тф-щь][аеиоуъюяѣѫ]] > Sh;" +
"Я > YA;" +
"я > ya;";
Transliterator bulgarianToLatin = Transliterator.createFromRules("temp", rules, Transliterator.FORWARD);
String result1 = bulgarianToLatin.transliterate(bgString);
System.out.println("Bulgarian to Latin:" + result1);
}
}
Sehr nützlich für einfache Anwendungen. Vielen Dank! –
Sie haben einen Tippfehler in Ihrem 'abcCyr' Array, anstatt 'Ь' haben Sie 'Б' geschrieben. –
danke, bearbeitet! – lxknvlk