您的位置:首页 > 其它

汉字转换为拼音

2015-04-20 16:28 239 查看
导入pinyin4j-2.5.0.jar包

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;

@SuppressWarnings("finally")

public class PinYinUtil {

public static String toPinYin(String str) {

String py = "";

String[] t = new String[str.length()];

char [] hanzi=new char[str.length()];

for(int i=0;i<str.length();i++){

hanzi[i]=str.charAt(i);

}

net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat t1 = new HanyuPinyinOutputFormat();

t1.setCaseType(HanyuPinyinCaseType.LOWERCASE);

t1.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

t1.setVCharType(HanyuPinyinVCharType.WITH_V);

try {

for (int i = 0; i < str.length(); i++) {

if ((str.charAt(i) >= 'a' && str.charAt(i) < 'z')

|| (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')

|| (str.charAt(i) >= '0' && str.charAt(i) <= '9')) {

py += str.charAt(i);

} else {

t = PinyinHelper.toHanyuPinyinStringArray(hanzi[i], t1);

py=py+t[0];

}

}

} catch (BadHanyuPinyinOutputFormatCombination e) {

e.printStackTrace();

}

return py.trim().toString();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: