Dieser Artikel beschreibt die Methode von Java, chinesische Charaktere in chinesische Pinyin umzuwandeln. Teilen Sie es für Ihre Referenz wie folgt weiter:
Ich wanderte im Internet durch und sah versehentlich ein sehr interessantes Gerät namens Pinyin4j. Es kann chinesische Charaktere in chinesische Pinyin umwandeln. Mit seinen Worten und in Kombination mit Lucene und Chinese Partizip können Sie eine ähnliche Funktion erstellen, um chinesische Pinyin für die Volltext -Suche einzugeben. Der implementierte Code ist wie folgt
Paket pinyin4j; net.sourceforge.pinyin4j.pinyinhelper; import net.sourceforge.pinyin4j.Format.Hanyupinyincasetype; net.sourceforge.pinyin4j.format.hanyupinyinvchartype; net.sourceForge.pinyin4j.format.Exception.badHanyupinyinoutputformatCombination; öffentliche Klasse pinyin4jtest {public static void main (String -argsp [] {try {try {try {string {String output) = String {String outpution = pinyInyInyin4jtest. null); System.out.println (Ausgabe); } catch (badhanyupinyInoutputformatCombination e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); }} /*** @Parm InputCN Chinesische String -Eingabe* @Parm Seg Gremiter Bei Ausgabe chinesischer Pinyin** Hanyupinyinoutputformat liefert mehrere Ausgangsmodi* Hanyupinyincasetype: Setzen Sie, ob das Ergebnis des Eingangs der Eingabe der Eingabe ist. Ye1 1-4, was bedeutet 1-4 Sound* ohne_tone: Das Tonsymbol wird nicht angezeigt. if (seg == null) seg = ""; Hanyupinyinoutputformat format = new hanyupinyinoutputformat (); format.setCasetype (hanyupinyincaSetype.lowerCase); format.ettTonetype (hanyupinyIntonetype.without_tone); format.setVchartype (HanyupinyInvChartype.with_v); String output = ""; String [] temp = new String [10]; für (int i = 0; i <inputArray.length; i ++) {temp = pinyinhelper.tohanyupinyInstringArray (InputArray [i], Format); // Wenn das eingegebene chinesische Zeichen ein polyphonisches Zeichen ist, werden unterschiedliche Aussprachen in Sequenz in Temp [] aufgetaucht. Wenn es sich nicht um ein polyphonisches Zeichen handelt, ist nur der Wert in Temp [0] für (int j = 0; j <temp.length; j ++) {output += temp [j] +seg; }} Rückgabeausgabe; }}Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.