需要jar包
1
2
3
4
5
|
< dependency >
< groupId >com.belerweb</ groupId >
< artifactId >pinyin4j</ artifactId >
< version >2.5.1</ version >
</ dependency >
|
第一个 : 汉字转拼音全拼不忽略英文字符
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();
} |
第二个 : 汉字转拼音首字母不忽略英文字符
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();
} |
第三个 : 汉字转拼音全拼忽略英文字符
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;
} |
第四个 : 汉字转拼音首字母忽略英文字符
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();
} |