java中拼音和中文互相转换
2017-05-17 12:58
399 查看
拼音和中文互相转化的方法
jar下载:http://download.csdn.net/download/nmj2015/9844537
/** * 将字符串中的中文转化为拼音,其他字符不变 * * @param inputString * @return */ public static String getPingYin(String inputString) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); char[] input = inputString.trim().toCharArray(); String output = ""; try { for (int i = 0; i < input.length; i++) { if (java.lang.Character.toString(input[i]).matches( "[\\u4E00-\\u9FA5]+")) { String[] temp = PinyinHelper.toHanyuPinyinStringArray( input[i], format); output += temp[0]; } else output += java.lang.Character.toString(input[i]); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } return output; } /** * 获取汉字串拼音首字母,英文字符不变 * * @param chinese * 汉字串 * @return 汉语拼音首字母 */ public static String getFirstSpell(String chinese) { StringBuffer pybf = new StringBuffer(); char[] arr = chinese.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < arr.length; i++) { if (arr[i] > 128) { try { String[] temp = PinyinHelper.toHanyuPinyinStringArray( arr[i], defaultFormat); if (temp != null) { pybf.append(temp[0].charAt(0)); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pybf.append(arr[i]); } } return pybf.toString().replaceAll("\\W", "").trim().substring(0, 1); } /** * 获取汉字串拼音,英文字符不变 * * @param chinese * 汉字串 * @return 汉语拼音 */ public static String getFullSpell(String chinese) { StringBuffer pybf = new StringBuffer(); char[] arr = chinese.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < arr.length; i++) { if (arr[i] > 128) { try { pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pybf.append(arr[i]); } } return pybf.toString(); }
jar下载:http://download.csdn.net/download/nmj2015/9844537
相关文章推荐
- Java中将中文姓名转换为拼音的简单实现
- java 中文和unicode字符串互相转换(文件需要保存为gbk2312或者asci格式)
- java 中文和Unicode码 互相转换
- java实现中文数字与阿拉伯数字互相转换
- java 中文简体繁体互相转换
- 华为2017年8月30日校招编程真题01-数字的中文拼音和英文单词之间互相转换
- java 中文 转换拼音
- java程序实现Unicode码和中文互相转换笔记
- Java中文字符串(String)和ASCII码互相转换
- 利用JAVA自带功能实现中文与ASCII互相转换
- java程序实现Unicode码和中文互相转换笔记
- java中文转换为拼音的pinyin4j学习笔记
- java实现url编码与中文的互相转换
- java实现中文数字与阿拉伯数字互相转换
- Java 汉字转换为中文拼音的研究一:读取.db文件
- java实现中文数字与阿拉伯数字互相转换
- java中把中文转换为拼音
- Java将中文姓名转换为拼音
- java实现中文,unicode互相转换
- Java中文字符转换拼音