利用apache的pinyin4j,简单实用
public static String getPiYin(String src) {
HanyuPinyinOutputFormat outFormat = new HanyuPinyinOutputFormat();
outFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
outFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
outFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
try {
return PinyinHelper.toHanyuPinyinString(src, outFormat, "");
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
return src;
}
}
toHanyuPinyinString最后一个参数可以设置分隔符,即每个汉字拼音后可以加个空格。
outFormat 定义了拼音格式,如大小写、是否带声调(结果是拼音后带个数字)。
vCharType,定制字母“ü”格式,这个只对拼音中的“ü”有效,因为我们中文中的“ü”,键盘是用“v”代替的,它 的取值为HanyuPinyinVCharType.WITH_U_AND_COLON(“ü”=“u:”)、HanyuPinyinVCharType.WITH_U_UNICODE (“ü”=“ü”)和HanyuPinyinVCharType.WITH_V(“ü”=“v”),默认为WITH_U_AND_COLON 。
然后我们可以通过PinyinHelper类中的toHanyuPinyinString和toHanyuPinyinStringArray方法来获取汉语拼音了。第二个方法跟第一个第一个方法的区别是,如果汉字为多音字,它会以数组的形式返回所有可能读音,而第一个方法只返回第一个读音。
例子: http://download.csdn.net/detail/u013614451/7572625