Java中文转拼音、汉字转拼音


需要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();
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM