需要jar包
[XML] 纯文本查看 复制代码
1
2
3
4
5
|
< dependency > < groupId >com.belerweb</ groupId > < artifactId >pinyin4j</ artifactId > < version >2.5.1</ version > </ dependency > |
第一个 : 汉字转拼音全拼不忽略英文字符
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/** * (全拼)中文转拼音 --->不忽略英文字符 * @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(); } |
第二个 : 汉字转拼音首字母不忽略英文字符
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/** * (首字母)汉字转拼音--->不忽略英文字符 * @param chinese * @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 )); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pybf.append(arr[i]); } } return pybf.toString().replaceAll( "\\W" , "" ).trim(); } |
第三个 : 汉字转拼音全拼忽略英文字符
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/** * (全拼)中文转拼音自动--->忽略英文字符 * @param inputString * @return */ public static String getFullSpell_WithoutEnglish(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++) { System.err.println(input[i]); if (java.lang.Character.toString(input[i]).matches( "[\\u4E00-\\u9FA5]+" )) { String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format); output += temp[ 0 ]; } } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } return output; } |
第四个 : 汉字转拼音首字母忽略英文字符
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/** * (首字母)汉字转拼音--->忽略英文字符 * @param chinese * @return */ public static String getFirstSpell_WithoutEnglish(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(); } } } return pybf.toString().replaceAll( "\\W" , "" ).trim(); } |
来源:https://www.cnblogs.com/zhuxiaopijingjing/p/12401147.html