|  |  |  | 
|---|
|  |  |  | * @return 汉语拼音首字母 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getFirstSpell(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)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (BadHanyuPinyinOutputFormatCombination e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //e.printStackTrace(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | pybf.append(arr[i]); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | pybf.append(arr[i]); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return pybf.toString().replaceAll("\\W", "").trim(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return pybf.toString().replaceAll("\\W", "").trim(); | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取汉字串拼音首字母,英文字符不变 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @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(); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //e.printStackTrace(); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | //e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | pybf.append(arr[i]); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | pybf.append(arr[i]); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return pybf.toString(); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return pybf.toString(); | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|