1. 程式人生 > >把文字轉換成拼音工具類

把文字轉換成拼音工具類

public class PinYinUtils {
    /**
     * 得到指定漢字的拼音
     * 注意:不應該被頻繁呼叫,它消耗一定記憶體
     *
     * @param hanzi
* @return
*/
public static String getPinYin(String hanzi) {
        String pinyin = "";
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();//控制轉換是否大小寫,是否帶音標
format.setCaseType(HanyuPinyinCaseType.UPPERCASE
);//大寫 format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); //由於不能直接對多個漢字轉換,只能對單個漢字轉換 char[] arr = hanzi.toCharArray(); for (int i = 0; i < arr.length; i++) { if (Character.isWhitespace(arr[i])) continue;//如果是空格,則不處理,進行下次遍歷 //漢字是2個位元組儲存,肯定大於127,所以大於127就可以當為漢字轉換 if (arr[i] > 127
) { try { //由於多音字的存在,單 dan shan String[] pinyinArr = PinyinHelper.toHanyuPinyinStringArray(arr[i], format); if (pinyinArr != null) { pinyin += pinyinArr[0]; } else { pinyin += arr[i]; } } catch
(BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); //不是正確的漢字 pinyin += arr[i]; } } else { //不是漢字, pinyin += arr[i]; } } return pinyin; } }