Java 汉字转拼音

    利用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方法来获取汉语拼音了。第二个方法跟第一个第一个方法的区别是,如果汉字为多音字,它会以数组的形式返回所有可能读音,而第一个方法只返回第一个读音。

你可能感兴趣的:(java,apache)