pinyin4j 使用 获取第一个汉子的首字母,获取汉子拼音

来源:互联网 发布:mac怎么提高下载速度 编辑:程序博客网 时间:2024/05/16 18:04
package asd.we.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.HanyuPinyinVCharType;import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;//工具包下载地址 http://download.csdn.net/detail/wd4871/9169865public class PingYinUtil {public static void main(String[] args) {String pinyin= getFirstSpell("阳阳");System.out.println(pinyin);}/** * 获取汉子拼音(全拼音) * @param inputString * @return */public static String getPingYin(String inputString) {        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();        format.setCaseType(HanyuPinyinCaseType.LOWERCASE);        format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);        format.setVCharType(HanyuPinyinVCharType.WITH_V);         char[] input = inputString.trim().toCharArray();        String output = "";         try {            for (int i = 0; i < input.length; i++) {                if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {                    String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);                    output += temp[0];                } else                    output += java.lang.Character.toString(input[i]);            }        } catch (BadHanyuPinyinOutputFormatCombination e) {            e.printStackTrace();        }        return output;    }/**获取汉字串拼音首字母(第一个字母的首字母),英文字符不变   *    * **/ public static String getFirstSpell(String chinese) {            try {StringBuffer pybf = new StringBuffer();    char[] arr = chinese.toCharArray();    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();    defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  if(arr.length >0){ String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[0], defaultFormat);        if (temp != null) {                pybf.append(temp[0].charAt(0));        }   } return pybf.toString().replaceAll("\\W", "").trim();} catch (Exception e) {e.printStackTrace();}          return null;     }       /**       * 获取汉字串拼音首字母,英文字符不变       * @param chinese 汉字串       * @return 汉语拼音首字母       */      public static String getEachFirstSpell(String chinese) {           StringBuffer pybf = new StringBuffer();           char[] arr = chinese.toCharArray();           HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();           defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);           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();       }       /**       * 获取汉字串拼音,英文字符不变       * @param chinese 汉字串       * @return 汉语拼音       */      public static String getFullSpell(String chinese) {           StringBuffer pybf = new StringBuffer();           char[] arr = chinese.toCharArray();           HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();           defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);           defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);           for (int i = 0; i < arr.length; i++) {                   if (arr[i] > 128) {                           try {                                   pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);                           } catch (BadHanyuPinyinOutputFormatCombination e) {                                   e.printStackTrace();                           }                   } else {                           pybf.append(arr[i]);                   }           }           return pybf.toString();       }          }

0 0