PinYin4J的运用
PinYin4J的使用
在项目开发中可能需要把汉字转换成拼音的功能,这个时候需要一个小框架PinYin4J.jar 这个工具可以把一个汉字转换成拼音,很小很方便,并且还可以解析多音字。下面是具体使用方法。
第一:首先引入pinyin4j-2.5.0.jar
第二:写工具类
第三步:写测试类(用junit测试框架)
需要注意的是该测试类要求引入junit.jar文件
打印结果:
jie
jie
xie
第四步:测试多个汉字转换成拼音
注意:上述代码:如果一个汉字是多音字,默认取它的第一个拼音。
打印结果:chenchaoyang
在项目开发中可能需要把汉字转换成拼音的功能,这个时候需要一个小框架PinYin4J.jar 这个工具可以把一个汉字转换成拼音,很小很方便,并且还可以解析多音字。下面是具体使用方法。
第一:首先引入pinyin4j-2.5.0.jar
第二:写工具类
package test; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; public class PinYinUtils { //将汉字转换成拼音--转换单个字符 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; } else{ return pinyin; } } }
第三步:写测试类(用junit测试框架)
需要注意的是该测试类要求引入junit.jar文件
package test; import static org.junit.Assert.*; import org.junit.Test; public class TestPinYin { @Test public void testGetPinYin() { String [] temp = PinYinUtils.getCharacterPinYin('解'); for(int i=0; i<temp.length; i++){ System.out.println(temp[i]); } } }
打印结果:
jie
jie
xie
第四步:测试多个汉字转换成拼音
public static void main(String[] args) { String name = "陈超阳"; StringBuffer result = new StringBuffer(); for(int i=0; i<name.length(); i++){ result.append(PinYinUtils.getCharacterPinYin(name.charAt(i))[0]); } System.out.println(result.toString()); }
注意:上述代码:如果一个汉字是多音字,默认取它的第一个拼音。
打印结果:chenchaoyang