获取汉字串拼音首字母,英文字符不变

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();    }}
相关文章
相关标签/搜索