首頁 > 網際網路

java中中文轉拼音pinyin4j

2019-12-11 04:09:14

下面和大家分享在java中怎麼把中文轉換成拼音,

1,可以轉換中文的首字母或全拼。如:「你好」,首字母:「nh」全拼:「nihao」,

2,需要pinyin4j.jar,

3,有java的開發環境,

1

首先要下載好pinyin4j.jar包,並複製到專案lib檔案夾中,確保專案能夠找到Ta,這裡截圖了兩個圖,是使用Ta的完整程式碼,從下一步開始對關鍵部分進行說明。



2

這裡列出了轉換方法所要使用到的jar包位置。

import net.sourceforge.pinyin4j.PinyinHelper;

import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;

import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;

import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;


3

這裡定義了converterToSpell(String chines, String firstChar)方法並且返回的是String,第一個引數是需要轉換的中文,如「你好」,第二個是一個自定義的標識,如果是1就代表我只轉換首字母「nh」,如果是0就代表我要轉換成全拼「nihao」。




4

通過以上方法的轉換,效果如下,第一幅圖是轉換成全拼的效果,第二幅圖是只轉換了首字母的效果,經過測試發現如果嘗試去轉換中文符號的時候會拋異常,所以加入了正則的匹配,檢查要轉換的字元是不是中文漢字,就像方法中的matches("[u4e00-u9fa5]")




IT145.com E-mail:sddin#qq.com