packageasd.we.utils;importnet.sourceforge.pinyin4j.PinyinHelper;importnet.sourceforge.pinyin4j.format.HanyuPinyinCaseType;importnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;importnet.sourceforge.pinyin4j.format.HanyuPinyinToneType;importnet.sourceforge.pinyin4j.format.HanyuPinyinVCharType;importnet.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;//工具包下载地址http://download.csdn.net/detail/wd4871/9169865
public classPingYinUtil {public static voidmain(String[] args) {
String pinyin= getFirstSpell("阳阳");
System.out.println(pinyin);
}/*** 获取汉子拼音(全拼音)
*@paraminputString
*@return
*/
public staticString getPingYin(String inputString) {
HanyuPinyinOutputFormat format= newHanyuPinyinOutputFormat();
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];
}elseoutput+=java.lang.Character.toString(input[i]);
}
}catch(BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}returnoutput;
}/**获取汉字串拼音首字母(第一个字母的首字母),英文字符不变
*
* **/
public staticString getFirstSpell(String chinese) {try{
StringBuffer pybf= newStringBuffer();char[] arr =chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat= newHanyuPinyinOutputFormat();
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;
}/*** 获取每个汉字音首字母,英文字符不变
*@paramchinese 汉字串
*@return汉语拼音首字母*/
public staticString getEachFirstSpell(String chinese) {
StringBuffer pybf= newStringBuffer();char[] arr =chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat= newHanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {
//if (arr[i] > 128) {
//匹配是否是汉字
if (Character.toString(arr[i]).matches("[\\u4E00-\\u9FA5]+")) {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();
}/*** 获取汉字串拼音,英文字符不变
*@paramchinese 汉字串
*@return汉语拼音*/
public staticString getFullSpell(String chinese) {
StringBuffer pybf= newStringBuffer();char[] arr =chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat= newHanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {
//if (arr[i] > 128) {
//匹配是否是汉字if (Character.toString(arr[i]).matches("[\\u4E00-\\u9FA5]+")) {