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

          首先在项目中引入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++) {// 匹配中文,非中文转换会转换成nullif (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++) {// 匹配中文,非中文转换会转换成nullif (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

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部