一个汉字转拼音的插件(pinyin4j)
生活随笔
收集整理的這篇文章主要介紹了
一个汉字转拼音的插件(pinyin4j)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天看到一個(gè)拼音插件,輸入漢字后會(huì)自動(dòng)轉(zhuǎn)換為拼音或者每個(gè)字的首字母,在做有些項(xiàng)目開(kāi)發(fā)時(shí)也有點(diǎn)用
pinyin4j提供了漢語(yǔ)轉(zhuǎn)拼音的一個(gè)開(kāi)源庫(kù), 支持多種拼音系統(tǒng):漢語(yǔ)拼音、 通用拼音 、威氏拼音、注音二式、雅禮、
國(guó)語(yǔ)羅馬字。
但是遺憾的是不支持多音字
首先下載jar包:http://pinyin4j.sourceforge.net/
public class PingyinUtils {
/**
* 漢字轉(zhuǎn)換為漢語(yǔ)拼音首字母,英文字符不變
* @param chines 漢字
* @return 拼音
*/
public static String converterToFirstSpell(String chines){
String pinyinName = "";
//轉(zhuǎn)化為字符
char[] nameChar = chines.toCharArray();
// for(int i=0;i<nameChar.length;i++){
// System.out.println(nameChar[i]);
// }
//漢語(yǔ)拼音格式輸出類
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
//輸出設(shè)置,大小寫,音標(biāo)方式等
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;
}
/**
* 漢字轉(zhuǎn)換位漢語(yǔ)拼音,英文字符不變
* @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("長(zhǎng)城有限公司"));
System.out.println(converterToSpell("康師傅").toLowerCase());
}
}
代碼運(yùn)行結(jié)果:
zcyxgs // 長(zhǎng)轉(zhuǎn)換成了z
kangshifu
總結(jié)
以上是生活随笔為你收集整理的一个汉字转拼音的插件(pinyin4j)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于SQL语言,这些你不得不了解!
- 下一篇: 车主全责!特斯拉自动驾驶辅助未识别隔离墩