maven导入:
<!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
Demo:
/**
* 2020年6月18日上午10:31:01
*/
package testpinyin;
import java.util.Arrays;
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.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
* @author XWF
*
*/
public class TestPinYin {
/**
* @param args
*/
public static void main(String[] args) {
char ch = '好';
String[] s = PinyinHelper.toHanyuPinyinStringArray(ch);
System.out.println(Arrays.asList(s));
HanyuPinyinOutputFormat f = new HanyuPinyinOutputFormat();//默认:LOWERCASE,WITH_U_AND_COLON,WITH_TONE_NUMBER
f.setCaseType(HanyuPinyinCaseType.UPPERCASE);
// HanyuPinyinCaseType.LOWERCASE 小写
// HanyuPinyinCaseType.UPPERCASE 大写
f.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
// HanyuPinyinVCharType.WITH_U_AND_COLON 用u和冒号表示
// HanyuPinyinVCharType.WITH_U_UNICODE 用u的unicode表示
// HanyuPinyinVCharType.WITH_V; 用v表示
f.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
// HanyuPinyinToneType.WITH_TONE_MARK 声调用符号表示(只能搭配"WITH_U_UNICODE"使用)
// HanyuPinyinToneType.WITH_TONE_NUMBER 声调用数字表示
// HanyuPinyinToneType.WITHOUT_TONE 不显示声调
try {
s = PinyinHelper.toHanyuPinyinStringArray(ch, f);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
System.out.println(Arrays.asList(s));
}
}
结果:

关于配置组合和效果源码里已经说的很清楚了:

本文介绍如何在Maven项目中导入Pinyin4j库,演示了使用PinyinHelper类进行汉字转拼音的方法,包括设置拼音大小写、声调标记方式及特殊字符u的表示形式。
1万+

被折叠的 条评论
为什么被折叠?



