package com.roboo.like.netease.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; /** * ������ * �޸��ˣ� � * �޸����ڣ�2013-1-29 * �޸�ʱ�䣺����11:47:10 */ public class PinYinUtils { /*** * * @param str :�������� * @param format * �������ʽ����ĸ��д * @return���������ij������Ƶĵ��׸����ֵ���ĸ */ public static String getPinYinHeadChar(String str, HanyuPinyinOutputFormat format) { char word = str.charAt(0); String convert = ""; if (java.lang.Character.toString(word).matches("[\\u4E00-\\u9FA5]+")) { String[] pinyinArray = null; try { pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word, format); if (pinyinArray != null) { convert += pinyinArray[0].charAt(0); } else { convert += word; } return convert; } catch (BadHanyuPinyinOutputFormatCombination e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { return str.toUpperCase(); } return ""; } /** * ����ת��λ����ƴ����Ӣ���ַ����� * @param chines ���� * @return ƴ�� */ public static String converterToSpell(String chines){ String pinyinName = ""; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < nameChar.length; i++) { if (nameChar[i] > 128) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } }