一个汉字转拼音的插件(pinyin4j)
生活随笔
收集整理的這篇文章主要介紹了
一个汉字转拼音的插件(pinyin4j)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天看到一個拼音插件,輸入漢字后會自動轉換為拼音或者每個字的首字母,在做有些項目開發時也有點用
pinyin4j提供了漢語轉拼音的一個開源庫, 支持多種拼音系統:漢語拼音、 通用拼音 、威氏拼音、注音二式、雅禮、
國語羅馬字。
但是遺憾的是不支持多音字
首先下載jar包:http://pinyin4j.sourceforge.net/
public class PingyinUtils {
/**
* 漢字轉換為漢語拼音首字母,英文字符不變
* @param chines 漢字
* @return 拼音
*/
public static String converterToFirstSpell(String chines){
String pinyinName = "";
//轉化為字符
char[] nameChar = chines.toCharArray();
// for(int i=0;i<nameChar.length;i++){
// System.out.println(nameChar[i]);
// }
//漢語拼音格式輸出類
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
//輸出設置,大小寫,音標方式等
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < nameChar.length; i++) {
//如果是中文
if (nameChar[i] > 128) {
try {
pinyinName +=
PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}else{//為英文字符
pinyinName += nameChar[i];
}
}
return pinyinName;
}
/**
* 漢字轉換位漢語拼音,英文字符不變
* @param chines 漢字
* @return 拼音
*/
public static String converterToSpell(String chines){
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < nameChar.length; i++) {
if (nameChar[i] > 128) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}else{
pinyinName += nameChar[i];
}
}
return pinyinName;
}
public static void main(String[] args) {
System.out.println(converterToFirstSpell("長城有限公司"));
System.out.println(converterToSpell("康師傅").toLowerCase());
}
}
代碼運行結果:
zcyxgs // 長轉換成了z
kangshifu
總結
以上是生活随笔為你收集整理的一个汉字转拼音的插件(pinyin4j)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于SQL语言,这些你不得不了解!
- 下一篇: 车主全责!特斯拉自动驾驶辅助未识别隔离墩