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
 * @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);
	}
}
最近下载更多
超超超超超级大西瓜  LV1 2021年9月8日
kong.yee  LV40 2019年8月10日
jackMan  LV1 2019年3月6日
guomin  LV1 2018年12月31日
qq1223123  LV2 2018年8月24日
zhouyuansheng  LV3 2018年5月27日
李洪健  LV12 2018年3月21日
王利华  LV2 2017年6月23日
疯狂的米老鼠  LV1 2017年5月9日
fujianyd  LV2 2016年12月2日
最近浏览更多
139465  LV12 2022年3月24日
nothing 2021年11月22日
暂无贡献等级
超超超超超级大西瓜  LV1 2021年9月8日
eft123321  LV1 2021年5月17日
tfs_4039 2020年9月3日
暂无贡献等级
lhm123456 2020年8月13日
暂无贡献等级
Gyq灬ming  LV11 2020年6月22日
jiangjian  LV9 2020年5月7日
lelelada  LV8 2019年12月18日
JoyKinG  LV19 2019年10月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友