利用Pinyin4j把中文转换为拼音

来源:互联网 发布:网络教育的本科学历国家承认吗 编辑:程序博客网 时间:2024/04/27 23:41

原文:利用Pinyin4j把中文转换为拼音

源代码下载地址:http://www.zuidaima.com/share/1550463764974592.htm

利用Pinyin4j把中文转换为拼音:

 利用Pinyin4j把中文转换为拼音

package com.zuidaima;import net.sourceforge.pinyin4j.PinyinHelper;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 tanf www.zuidaima.com * @date 2013-10-10 */public class PinyinUtil {private static HanyuPinyinOutputFormat PINYIN_FORMAT;static {PINYIN_FORMAT = new HanyuPinyinOutputFormat();PINYIN_FORMAT.setToneType(HanyuPinyinToneType.WITHOUT_TONE);PINYIN_FORMAT.setVCharType(HanyuPinyinVCharType.WITH_V);}public static String toPinyin(String input) {StringBuilder sb = new StringBuilder();for (int i = 0; i < input.length(); i++) {char c = input.charAt(i);if (c <= 255) {sb.append(c);} else {String pinyin = null;try {String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, PINYIN_FORMAT);pinyin = pinyinArray[0];} catch (BadHanyuPinyinOutputFormatCombination e) {} catch (NullPointerException e) {// 如果是日文,可能抛出该异常}if (pinyin != null) {sb.append(pinyin);}}}return sb.toString();}public static void main(String[] args) {String str = "张三";String result = toPinyin(str);System.out.println(result);}}


0 0