码迷,mamicode.com
首页 > 其他好文 > 详细

利用Pinyin4j把中文转换为拼音

时间:2015-05-25 09:56:30      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:pinyin4j   中文   转换   拼音   

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

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

利用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);
	}
}


利用Pinyin4j把中文转换为拼音

标签:pinyin4j   中文   转换   拼音   

原文地址:http://blog.csdn.net/springmvc_springdata/article/details/45965959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!