欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中漢字轉(zhuǎn)拼音pinyin4j用法實(shí)例分析

 更新時(shí)間:2015年12月21日 12:30:56   作者:tanguang_honesty  
這篇文章主要介紹了Java中漢字轉(zhuǎn)拼音pinyin4j用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了pinyin4j庫(kù)的具體使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Java中漢字轉(zhuǎn)拼音pinyin4j用法。分享給大家供大家參考,具體如下:

漢字轉(zhuǎn)換拼音在日常開發(fā)中是個(gè)很常見的問題。例如我們偉大的12306,在地名中輸入“WH”,就會(huì)出現(xiàn)“武漢”“蕪湖”“威?!钡鹊孛斎搿癢UHU”就會(huì)出現(xiàn)“蕪湖”。

Java獲取漢字的拼音,pinyin4j這個(gè)庫(kù)可以很好的解決這個(gè)問題。

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

下載解壓,里面有個(gè)pinyin4j-2.5.0.jar,使用這個(gè)庫(kù)即可。

漢字轉(zhuǎn)拼音:

復(fù)制代碼 代碼如下:
String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重');

上面這行代碼就是單個(gè)漢字轉(zhuǎn)拼音了,例如“重”字,該方法返回一個(gè)String類型的數(shù)組:

"zhong4"

"chong2"

“重”是一個(gè)多音字,該方法的返回?cái)?shù)組包含這個(gè)字的所有讀音的拼音。每個(gè)讀音最后有個(gè)數(shù)字就是音調(diào)(第一聲 第二聲 第三聲 第四聲,這個(gè)不用解釋了)。

上面是最簡(jiǎn)單的一種獲取單個(gè)漢字的方式,還可以使用HanyuPinyinOutputFormat來格式化返回拼音的格式。

HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
// UPPERCASE:大寫 (ZHONG)
// LOWERCASE:小寫 (zhong)
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// WITHOUT_TONE:無音標(biāo) (zhong)
// WITH_TONE_NUMBER:1-4數(shù)字表示英標(biāo) (zhong4)
// WITH_TONE_MARK:直接用音標(biāo)符(必須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如果傳入的字符不是漢字不能轉(zhuǎn)換成拼音,那么會(huì)直接返回null。

雖然pinyin4j很好用,但是還是有局限的。以上代碼只能獲取單個(gè)漢字的拼音,但是不能獲取一個(gè)包含多音字的詞的拼音。例如“重慶”,無法判斷到底是“chongqing”還是“zhongqing”,pinyin4j不能通過上下文來判斷多音字的讀音。

所以,在獲取一個(gè)包含多音字的詞語的讀音,可以返回一個(gè)列表,正確的讀音只能是人工判斷選擇。

希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java多線程 ReentrantLock互斥鎖詳解

    Java多線程 ReentrantLock互斥鎖詳解

    這篇文章主要介紹了Java多線程 ReentrantLock互斥鎖詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java 17 更快的 LTS 節(jié)奏

    Java 17 更快的 LTS 節(jié)奏

    這篇文章主要介紹的是Java 17 更新后的LTS,現(xiàn)在 Java 17 的發(fā)布,讓 Java 11 成了 LTS 系列的次新版本,下面我們就來看看Java 17 的更新 LTS有什么變化吧
    2021-09-09
  • JDBC連接Mysql的5種方式實(shí)例總結(jié)

    JDBC連接Mysql的5種方式實(shí)例總結(jié)

    JDBC是Java DataBase Connectivity技術(shù)的簡(jiǎn)稱,是一種可用于執(zhí)行 SQL語句的Java API,下面這篇文章主要給大家介紹了關(guān)于JDBC連接Mysql的5種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 詳解SpringBoot統(tǒng)一響應(yīng)體解決方案

    詳解SpringBoot統(tǒng)一響應(yīng)體解決方案

    這篇文章主要介紹了詳解SpringBoot統(tǒng)一響應(yīng)體解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • SSM框架中entity mapper dao service controller層的使用

    SSM框架中entity mapper dao service controll

    這篇文章主要介紹了SSM框架中entity mapper dao service controller層的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java中Random簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java中Random簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    本文詳細(xì)給大家介紹了Java中Random簡(jiǎn)介相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-06-06
  • Java實(shí)現(xiàn)簡(jiǎn)單無界面五子棋

    Java實(shí)現(xiàn)簡(jiǎn)單無界面五子棋

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單無界面五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java新特性之Nashorn_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java新特性之Nashorn_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java新特性之Nashorn的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 詳解Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能

    詳解Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能

    這篇文章主要介紹了Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java高級(jí)特性(基礎(chǔ))

    Java高級(jí)特性(基礎(chǔ))

    這篇文章主要介紹了Java高級(jí)特性(基礎(chǔ)),需要的朋友可以參考下
    2017-04-04

最新評(píng)論