您的位置:首页 > 编程语言 > Java开发

java 获取汉字串拼音首字母,英文字符不变 工具类

2015-07-07 09:04 801 查看
package cmcc.gz.platform.emms.util;

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;

public class Tools {
/**  

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

     * @param chinese 汉字串  

     * @return 汉语拼音首字母  

     */   

    public static String getFirstSpell(String chinese) {

    StringBuffer pybf = new StringBuffer();

    char[] arr = chinese.toCharArray();

    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();

    defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);

    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) {

    pybf.append(temp[0].charAt(0));

    }

    } catch (BadHanyuPinyinOutputFormatCombination e) {

    e.printStackTrace();

    }

    } else {

    pybf.append(arr[i]);

    }

    }

    return pybf.toString().replaceAll("\\W", "").trim();   

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 汉语首字母