Java获取汉字拼音和拼音缩写
2016-12-12 17:06
555 查看
Java获取汉字拼音和拼音缩写
有时候,为了获取更好的搜索效果,我们需要通过拼音搜索来实现汉字的匹配。现提供汉字转拼音和拼音缩写的方法如下:import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; 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; public class PinYin { public static void main(String[] args) { // 汉字转拼音,拼音首字母,自学习首字母查询 String searchWord = "你好"; String pingYinSuoXie = PinYin.getPingYinSuoXie(searchWord); String pingYinSuoXie2 = PinYin.getPingYinSuoXie2(searchWord); String pingYin = PinYin.getPingYin(searchWord); System.out.println(pingYinSuoXie); System.out.println(pingYinSuoXie2); System.out.println(pingYin); } /** * 将字符串中的中文转化为拼音首字母 */ public static String getPingYinSuoXie(String inputString) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); String output = ""; if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) { char[] input = inputString.trim().toCharArray(); 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].charAt(0); } else { output += java.lang.Character.toString(input[i]); } } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { return "*"; } return output; } /** * 将字符串中的中文转化为拼音首字母 */ public static String getPingYinSuoXie2(String inputString) { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); int a = 0; String output = ""; if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) { char[] input = inputString.trim().toCharArray(); 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); if (a == 0) { output += temp[0]; } else { output += temp[0].charAt(0); } a++; } else { output += java.lang.Character.toString(input[i]); } } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { return "*"; } return output; } /** * 将字符串中的中文转化为拼音 */ public static String getPingYin(String inputString) { HanyuPinyinOutp 9450 utFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); String output = ""; if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) { char[] input = inputString.trim().toCharArray(); 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(); } } else { return "*"; } return output; } }
相关文章推荐
- Java获取汉字拼音和拼音缩写
- JAVA实现汉字转拼音缩写--类的静态方法
- Java中获取GBK编码汉字的拼音字头方法。
- JAVA获取中文汉字的拼音首字母
- java 获取汉字串拼音首字母,英文字符不变 工具类
- java获取汉字拼音首字母
- JAVA实现汉字转拼音缩写--类的静态方法
- Java 获取汉字拼音首字母
- C# 获取汉字转拼音缩写-简写,不是全拼
- [Asp.Net WinForm]利用Visual Studio International Pack来获取汉字的拼音缩写
- Java获取汉字拼音的全拼和首拼实现代码分享
- MSSQL获取汉字助记码[拼音首字母缩写]
- java 获取汉字拼音的首字母 .
- Java获取获取汉字拼音和首字母代码
- 用Java显示获取每个汉字的拼音首字母
- java获取汉字拼音首字母
- java 获取汉字拼音的首字母 .
- Java获取汉字拼音
- java汉字转拼音。获取首个字或者词
- java获取汉字拼音首字母