赞
踩
Java中可以使用第三方库pinyin4j来实现中文转拼音。
首先,需要引入pinyin4j的jar包,可以在pinyin4j的官方网站(http://pinyin4j.sourceforge.net/)下载,也可以通过Maven引入。
Maven引入依赖:
- <dependency>
- <groupId>com.belerweb</groupId>
- <artifactId>pinyin4j</artifactId>
- <version>2.5.1</version>
- </dependency>
以下是一个简单的示例代码,可以将中文字符串转换为拼音:
- import net.sourceforge.pinyin4j.PinyinHelper;
-
- public class ChineseToPinyin {
- public static void main(String[] args) {
- String chinese = "你好,世界!";
- String pinyin = convertToPinyin(chinese);
- System.out.println(pinyin);
- }
-
- public static String convertToPinyin(String chinese) {
- StringBuilder pinyin = new StringBuilder();
- char[] chars = chinese.toCharArray();
-
- for (char c : chars) {
- String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c);
-
- if (pinyinArray != null) {
- pinyin.append(pinyinArray[0]);
- } else {
- pinyin.append(c);
- }
- }
-
- return pinyin.toString();
- }
- }
执行以上代码,输出结果为:ni3hao3,shi4jie4!
其中拼音后面的数字代表声调,3代表第三声
那么如果我们不需要声调,如何实现呢?其实目前已经支持了,代码如下:
- public static void main(String[] args) {
- String input = "你好,世界!";
- // 设置不带声调的输出选项
- net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat format = new net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat();
- format.setToneType(net.sourceforge.pinyin4j.format.HanyuPinyinToneType.WITHOUT_TONE);
-
- StringBuilder output = new StringBuilder();
- for (char c : input.toCharArray()) {
- try {
- String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format);
- if (pinyinArray != null && pinyinArray.length > 0) {
- output.append(pinyinArray[0]).append(" ");
- } else {
- output.append(c).append(" ");
- }
- } catch (Exception e) {
- output.append(c).append(" ");
- }
- }
-
- System.out.println(output.toString().trim()); // 输出结果:pin yin 4j
- }
此时执行效果如下:ni hao , shi jie !
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。