static public String[] toHanyuPinyinStringArray(char ch) //将char(必须为汉字单字)转化为拼音,如果ch为非汉字,返回null
static public String[] toHanyuPinyinStringArray(char ch,HanyuPinyinOutputFormat outputFormat) //可以设置输出的格式static public String[] toHanyuPinyinStringArray(char ch) //将char(必须为汉字单字)转化为拼音,如果ch为非汉字,返回nullstatic public String[] toHanyuPinyinStringArray(char ch,HanyuPinyinOutputFormat outputFormat) //可以设置输出的格式char c=‘乾‘;
System.out.println(Arrays.toString(PinyinHelper.toHanyuPinyinStringArray(c)));//[qian2, gan1]
System.out.println(Arrays.toString(PinyinHelper.toGwoyeuRomatzyhStringArray(c)));//[chyan, gan]
System.out.println(Arrays.toString(PinyinHelper.toMPS2PinyinStringArray(c)));//[chian2, gan1]
System.out.println(Arrays.toString(PinyinHelper.toTongyongPinyinStringArray(c)));//[cian2, gan1]
System.out.println(Arrays.toString(PinyinHelper.toWadeGilesPinyinStringArray(c)));//[ch`ien2, kan1]
System.out.println(Arrays.toString(PinyinHelper.toYalePinyinStringArray(c)));//[chyan2, gan1]x
char c=‘乾‘;System.out.println(Arrays.toString(PinyinHelper.toHanyuPinyinStringArray(c)));//[qian2, gan1]System.out.println(Arrays.toString(PinyinHelper.toGwoyeuRomatzyhStringArray(c)));//[chyan, gan]System.out.println(Arrays.toString(PinyinHelper.toMPS2PinyinStringArray(c)));//[chian2, gan1]System.out.println(Arrays.toString(PinyinHelper.toTongyongPinyinStringArray(c)));//[cian2, gan1]System.out.println(Arrays.toString(PinyinHelper.toWadeGilesPinyinStringArray(c)));//[ch`ien2, kan1]System.out.println(Arrays.toString(PinyinHelper.toYalePinyinStringArray(c)));//[chyan2, gan1]汉语拼音:[qian2, gan1],[zhong4, chong2]
国语罗马字:[chyan, gan],[jonq, chorng]
注音符号拼音:[chian2, gan1],[jung4, chung2]
通用拼音:[cian2, gan1],[jhong4, chong2]
威妥玛拼音:[ch`ien2, kan1],[chung4, ch`ung2]
耶魯拼音:[chyan2, gan1],[jung4, chung2]x
汉语拼音:[qian2, gan1],[zhong4, chong2]国语罗马字:[chyan, gan],[jonq, chorng]注音符号拼音:[chian2, gan1],[jung4, chung2]通用拼音:[cian2, gan1],[jhong4, chong2]威妥玛拼音:[ch`ien2, kan1],[chung4, ch`ung2]耶魯拼音:[chyan2, gan1],[jung4, chung2]HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
System.out.println(Arrays.toString(PinyinHelper.toHanyuPinyinStringArray(c, format)));x
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();System.out.println(Arrays.toString(PinyinHelper.toHanyuPinyinStringArray(c, format)));format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//大小写,默认 LOWERCASEformat.setCaseType(HanyuPinyinCaseType.UPPERCASE);//大小写,默认 LOWERCASEformat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//音调的样式,默认 WITH_TONE_NUMBER
//[QIAN2, GAN1],[QIáN, GāN],[QIAN, GAN]x
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//音调的样式,默认 WITH_TONE_NUMBER//[QIAN2, GAN1],[QIáN, GāN],[QIAN, GAN]format.setVCharType(HanyuPinyinVCharType.WITH_V);//符合 V 的输出格式,默认 WITH_U_AND_COLON
//[LU:, LU],[Lü, LU],[LV, LU]x
format.setVCharType(HanyuPinyinVCharType.WITH_V);//符合 V 的输出格式,默认 WITH_U_AND_COLON//[LU:, LU],[Lü, LU],[LV, LU]System.out.println(toPinYin("白乾涛"));//Bai2Qian2Tao1System.out.println(toPinYin("白乾涛"));//Bai2Qian2Tao1public static String toPinYin(String content) {
return toPinYin(content, "", true, null);
}
/**
* 将content转换成拼音,如果不是汉字或者没有对应的拼音,则不作转换
* 如: 明天 转换成 MINGTIAN
* @param content:要转化的汉字
* @param spera:转化结果的分割符
* @param firstUpperCase:是否首字母大写
* @param format:格式封装类
*/
public static String toPinYin(String content, String spera, boolean firstUpperCase, HanyuPinyinOutputFormat format) {
if (content == null || content.trim().length() == 0) {
return "";
}
if (spera == null) {
spera = "";
}
if (format == null) {
format = new HanyuPinyinOutputFormat();
}
StringBuilder pyBuilder = new StringBuilder();
String temp = "";
String[] pyArray = null;
for (int i = 0; i < content.length(); i++) {
char c = content.charAt(i);
if ((int) c <= 128) {
pyBuilder.append(c);
} else {
try {
pyArray = PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
if (pyArray == null) {
pyBuilder.append(c);
} else {
temp = pyArray[0];
if (firstUpperCase) {
temp = pyArray[0].toUpperCase().charAt(0) + temp.substring(1);
}
pyBuilder.append(temp + (i == content.length() - 1 ? "" : spera));
}
}
}
return pyBuilder.toString().trim();
}x
public static String toPinYin(String content) { return toPinYin(content, "", true, null);}/*** 将content转换成拼音,如果不是汉字或者没有对应的拼音,则不作转换* 如: 明天 转换成 MINGTIAN* @param content:要转化的汉字* @param spera:转化结果的分割符* @param firstUpperCase:是否首字母大写* @param format:格式封装类*/public static String toPinYin(String content, String spera, boolean firstUpperCase, HanyuPinyinOutputFormat format) { if (content == null || content.trim().length() == 0) { return ""; } if (spera == null) { spera = ""; } if (format == null) { format = new HanyuPinyinOutputFormat(); } StringBuilder pyBuilder = new StringBuilder(); String temp = ""; String[] pyArray = null; for (int i = 0; i < content.length(); i++) { char c = content.charAt(i); if ((int) c <= 128) { pyBuilder.append(c); } else { try { pyArray = PinyinHelper.toHanyuPinyinStringArray(c, format); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } if (pyArray == null) { pyBuilder.append(c); } else { temp = pyArray[0]; if (firstUpperCase) { temp = pyArray[0].toUpperCase().charAt(0) + temp.substring(1); } pyBuilder.append(temp + (i == content.length() - 1 ? "" : spera)); } } } return pyBuilder.toString().trim();}原文:https://www.cnblogs.com/baiqiantao/p/9255295.html