失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android 将文字转换为拼音格式 android中将汉字转为拼音

android 将文字转换为拼音格式 android中将汉字转为拼音

时间:2019-11-13 05:33:46

相关推荐

android 将文字转换为拼音格式 android中将汉字转为拼音

汉字转拼音,汉字转拼音首字母~

下面的方法是在做项目的时候,从网上查了好久才得到的~虽然不是自己写的,但是也改的差不多了~放在这里供大家参考哈

/detail/feihongmin/8090633是汉字转拼音要使用的pinyin4j的jar包,可以从官网上下载的

/** * 汉字转换位全拼音,英文字符不变,其他符号忽略, * * @param chines *汉字 * @return 小写全拼 */ public static String getPingYin(String chines) { StringBuilder sb = new StringBuilder(); char[] nameChar = chines.toCharArray(); for (int i = 0; i < nameChar.length; i++) { String nameCharStr = java.lang.Character.toString(nameChar[i]); if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) { String pinyinStr = getCharacterPinYin(nameChar[i]); if (pinyinStr != null) { sb.append(pinyinStr); } } else if (nameCharStr.matches("^[a-zA-Z]*")) { sb.append(nameCharStr.toLowerCase()); } else if (nameCharStr.matches("[0-9]*")) { sb.append(nameCharStr); } } return sb.toString(); } public static String getCharacterPinYin(char c) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); String[] pinyin = null; try { pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } // 如果c不是汉字,toHanyuPinyinStringArray会返回null if (pinyin == null) return null; // 只取一个发音,如果是多音字,仅取第一个发音 return pinyin[0]; } /** * 汉字转换位汉语拼音首字母,英文字符不变,其他符号忽略, * * @param chines *汉字 * @return 小写简拼 */ public static String getShortPinyin(String chines) { StringBuilder sb = new StringBuilder(); char[] nameChar = chines.toCharArray(); for (int i = 0; i < nameChar.length; i++) { String nameCharStr = java.lang.Character.toString(nameChar[i]); if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) { String pinyinStr = getCharacterShortPinYin(nameChar[i]); if (pinyinStr != null) { sb.append(pinyinStr); } } else if (nameCharStr.matches("^[a-zA-Z]*")) { sb.append(nameCharStr.toLowerCase()); } else if (nameCharStr.matches("[0-9]*")) { sb.append(nameCharStr); } } return sb.toString(); } public static String getCharacterShortPinYin(char c) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); String[] pinyin = null; try { pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } if (pinyin == null) return null; // 只取一个发音,如果是多音字,仅取第一个发音的首字母 return java.lang.Character.toString(pinyin[0].charAt(0)); }

如果觉得《android 将文字转换为拼音格式 android中将汉字转为拼音》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。