汉字与全拼的转换!
2014-11-04 19:15
176 查看
在实际项目中我们经常需要将汉字转换为中文全拼,以便搜索等功能。
<font>涉及到的罐子</font>
<dependency> <span style="white-space:pre"> </span><groupId>net.sourceforge</groupId> <span style="white-space:pre"> </span><artifactId>pinyin4j</artifactId> <span style="white-space:pre"> </span><version>2.5.0</version> </dependency>
闲话少说,直接看代码:
包com.ilucky.pinyin; 进口net.sourceforge.pinyin4j.PinyinHelper; 进口net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; 进口net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; 进口net.sourceforge.pinyin4j.format.HanyuPinyinToneType; 进口net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; 进口net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; / ** * @author IluckySi * @Since 20141104 * / 公共类TestPinYin { / ** *将字符串中的汉字替换为汉字的全拼。 * @参数海峡 * @返回字符串 * / 公共静态字符串getPinYin(字符串str){ 字符串结果=“”; 炭[] = t1的str.toCharArray(); HanyuPinyinOutputFormat格式=新HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); 尝试{ 的for(int i = 0; I <t1.length;我++){ //判断是不是汉字。 如果(Character.toString(T1 [I])匹配(“[\\ u4E00 - \\ u9FA5] +”)){ 结果+ = PinyinHelper.toHanyuPinyinStringArray(t1的[i]于,格式)[0]; }其他{ 结果+ = Character.toString(t1的[I]); } } }赶上(BadHanyuPinyinOutputFormatCombination E){ e.printStackTrace(); } 返回结果; } / ** *将字符串中的汉字替换为汉字的全拼,并且每个汉字全拼的首字母大写。 * @参数海峡 * @返回字符串 * / 公共静态字符串getPinYin2(字符串str){ 字符串结果=“”; 的char [] charArray = str.toCharArray(); HanyuPinyinOutputFormat格式=新HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); 尝试{ 的for(int i = 0; I <charArray.length;我++){ //判断是不是汉字。 如果(Character.toString(charArray [I])匹配(“[\\ u4E00 - \\ u9FA5] +”)){ 串老= PinyinHelper.toHanyuPinyinStringArray(charArray [I],格式)[0]; 结果+ = old.substring(0,1)的ToString()与toUpperCase()+ old.substring(1)。 }其他{ 结果+ = Character.toString(charArray [I]); } } }赶上(BadHanyuPinyinOutputFormatCombination E){ e.printStackTrace(); } 返回结果; } / ** *将字符串中的汉字替换为汉字的首字母。 * @参数海峡 * @返回字符串 * / 公共静态字符串getPinYinHeadChar(字符串str){ 字符串结果=“”; 的for(int i = 0; I <str.length();我++){ 焦炭字= str.charAt(I); //判断是不是汉字。 的String [] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(字); 如果(pinyinArray!= NULL){ 结果+ = pinyinArray [0] .charAt(0); }其他{ 结果+ =字; } } 返回结果; } 公共静态无效的主要(字串[] args){ 字符串str =“W中s华我人升民ü共Ç和ķ国Y”; //将字符串中的汉字替换为汉字的全拼。 的System.out.println(getPinYin(STR)); //将字符串中的汉字替换为汉字的全拼,并且每个汉字全拼的首字母大写。 的System.out.println(getPinYin2(STR)); //将字符串中的汉字替换为汉字全拼的首字母。 的System.out.println(getPinYinHeadChar(STR)); //将字符串中的汉字替换为汉字全拼的首字母,并且大写。 的System.out.println(getPinYinHeadChar(STR).toUpperCase()); } } / ** 输出结果: wzhongshuairenlminugongchekguoy wZhongsHuaiRenlMinuGongcHekGuoy wzshirlmugchkgy WZSHIRLMUGCHKGY * /
相关文章推荐
- 汉字转换字母,可以取首字母,也可以取全拼
- Sql汉字转换成全拼
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- 把汉字转换成拼音(全拼)
- java 将汉字转换为全拼及返回中文的首字母
- 终结者:借助pinyin4j相关jar包将汉字转换为全拼的拼音
- 中文汉字转换成拼音首字 拼音全拼
- 将中文汉字转换成拼音(全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- 将中文汉字转换成拼音(全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Asp.net 将中文汉字转换成拼音首字和拼音全拼
- C# 把汉字转换成拼音(全拼)
- 汉字转换成全拼的拼音
- 将汉字转换为全拼 、提取每个汉字的首字母
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- c#实现汉字转换全拼
- 汉字转换成全拼的拼音
- 通过pinyin4j将汉字转换为全拼 和 拼音首字母