獲取漢字串拼音首字母,英文字符不變

package com.sprucetec.tms.utils;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;import org.apache.commons.lang.StringUtils;/** * 描述: 拼音工具類 * * @author yangweiqiang * @date 2016/8/9 */public class PinYinUtils {    /**     * 獲取漢字串拼音首字母,英文字符不變     *     * @param chinese  漢字串     * @param caseType 大寫 or 小寫     * @return 漢語拼音首字母     */    public static String getFirstSpell(String chinese, HanyuPinyinCaseType caseType) {        if (StringUtils.isBlank(chinese)) {            return null;        }        StringBuffer sb = new StringBuffer();        char[] arr = chinese.toCharArray();        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();        defaultFormat.setCaseType(caseType);        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);        for (int i = 0; i < arr.length; i++) {            if (arr[i] > 128) {                try {                    String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);                    if (temp != null) {                        sb.append(temp[0].charAt(0));                    }                } catch (BadHanyuPinyinOutputFormatCombination e) {                    e.printStackTrace();                }            } else {                sb.append(arr[i]);            }        }        return sb.toString().replaceAll("\\W", "").trim();    }}
相關文章
相關標籤/搜索