java获取中文的拼音和获取中文的拼音首字母

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chaoyue1861/article/details/91042682

          首先在项目中引入pinyin4j.jar包

一、获取中文的拼音

public  void testPinyin() throws BadHanyuPinyinOutputFormatCombination {
		String name = "中文拼音";
		char[] charArray = name.toCharArray();
		StringBuilder pinyin = new StringBuilder();
		HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
		// 设置大小写格式
		defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
		// 设置声调格式:
		defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		for (int i = 0; i < charArray.length; i++) {
			// 匹配中文,非中文转换会转换成null
			if (Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")) {
				String[] hanyuPinyinStringArray = PinyinHelper
						.toHanyuPinyinStringArray(charArray[i], defaultFormat);
				String string = hanyuPinyinStringArray[0];
				pinyin.append(string+" ");
			} else {
				pinyin.append(charArray[i]);
			}
		}
		System.err.println(pinyin);
}

//结果

 ZHONG WEN PIN YIN 

二、获取中文拼音的首字母

public  void testPinyinInitial()
			throws BadHanyuPinyinOutputFormatCombination {
		String name = "中文拼音";
		char[] charArray = name.toCharArray();
		StringBuilder pinyin = new StringBuilder();
		HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
		// 设置大小写格式
		defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
		// 设置声调格式:
		defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		for (int i = 0; i < charArray.length; i++) {
			// 匹配中文,非中文转换会转换成null
			if (Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")) {
				String[] hanyuPinyinStringArray = PinyinHelper
						.toHanyuPinyinStringArray(charArray[i], defaultFormat);
				if (hanyuPinyinStringArray != null) {
					pinyin.append(hanyuPinyinStringArray[0].charAt(0));
				}
			}
		}
		System.err.println(pinyin);
	}

//结果

ZWPY

 

展开阅读全文

没有更多推荐了,返回首页