程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中漢字轉拼音pinyin4j用法實例剖析

Java中漢字轉拼音pinyin4j用法實例剖析

編輯:關於JAVA

Java中漢字轉拼音pinyin4j用法實例剖析。本站提示廣大學習愛好者:(Java中漢字轉拼音pinyin4j用法實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中漢字轉拼音pinyin4j用法實例剖析正文


本文實例講述了Java中漢字轉拼音pinyin4j用法。分享給年夜家供年夜家參考,詳細以下:

漢字轉換拼音在平常開辟中是個很罕見的成績。例如我們巨大的12306,在地名中輸出“WH”,就會湧現“武漢”“蕪湖”“威海”等地名,輸出“WUHU”就會湧現“蕪湖”。

Java獲得漢字的拼音,pinyin4j這個庫可以很好的處理這個成績。

下載地址:http://sourceforge.net/projects/pinyin4j/

下載解壓,外面有個pinyin4j-2.5.0.jar,應用這個庫便可。

漢字轉拼音:
String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重');

下面這行代碼就是單個漢字轉拼音了,例如“重”字,該辦法前往一個String類型的數組:

"zhong4"

"chong2"

“重”是一個多音字,該辦法的前往數組包括這個字的一切讀音的拼音。每一個讀音最初有個數字就是聲調(第一聲 第二聲 第三聲 第四聲,這個不消說明了)。

下面是最簡略的一種獲得單個漢字的方法,還可使用HanyuPinyinOutputFormat來格局化前往拼音的格局。

HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
// UPPERCASE:年夜寫 (ZHONG)
// LOWERCASE:小寫 (zhong)
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// WITHOUT_TONE:無音標 (zhong)
// WITH_TONE_NUMBER:1-4數字表現英標 (zhong4)
// WITH_TONE_MARK:直接用音標符(必需WITH_U_UNICODE不然異常) (zhòng)
format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
// WITH_V:用v表現ü (nv)
// WITH_U_AND_COLON:用"u:"表現ü (nu:)
// WITH_U_UNICODE:直接用ü (nü)
format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重', format);
toHanyuPinyinStringArray假如傳入的字符不是漢字不克不及轉換成拼音,那末會直接前往null。

固然pinyin4j很好用,然則照樣有局限的。以上代碼只能獲得單個漢字的拼音,然則不克不及獲得一個包括多音字的詞的拼音。例如“重慶”,沒法斷定究竟是“chongqing”照樣“zhongqing”,pinyin4j不克不及經由過程高低文來斷定多音字的讀音。

所以,在獲得一個包括多音字的詞語的讀音,可以前往一個列表,准確的讀音只能是人工斷定選擇。

願望本文所述對年夜家Java法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved