/**
* 汉字转汉语拼音首字母,英文字符不变
*
* @param chinese
* @return
*/
public static String pinyinFirst(String chinese) {
String retVal = "";
char[] chineses = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < chineses.length; i++) {
if (chineses[i] > 128) {
try {
retVal += PinyinHelper.toHanyuPinyinStringArray(chineses[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
log.error(e, e);
}
} else {
retVal += chineses[i];
}
}
return retVal;
}
/**
* 汉字转汉语拼音,英文字符不变
*
* @param chinese
* @return
*/
public static String pinyinFull(String chinese) {
String retVal = "";
char[] chineses = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < chineses.length; i++) {
if (chineses[i] > 128) {
try {
retVal += PinyinHelper.toHanyuPinyinStringArray(chineses[i], defaultFormat)[0];
} catch (BadHanyuPinyinOutputFormatCombination e) {
log.error(e, e);
}
} else {
retVal += chineses[i];
}
}
return retVal;
}
* 汉字转汉语拼音首字母,英文字符不变
*
* @param chinese
* @return
*/
public static String pinyinFirst(String chinese) {
String retVal = "";
char[] chineses = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < chineses.length; i++) {
if (chineses[i] > 128) {
try {
retVal += PinyinHelper.toHanyuPinyinStringArray(chineses[i], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
log.error(e, e);
}
} else {
retVal += chineses[i];
}
}
return retVal;
}
/**
* 汉字转汉语拼音,英文字符不变
*
* @param chinese
* @return
*/
public static String pinyinFull(String chinese) {
String retVal = "";
char[] chineses = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < chineses.length; i++) {
if (chineses[i] > 128) {
try {
retVal += PinyinHelper.toHanyuPinyinStringArray(chineses[i], defaultFormat)[0];
} catch (BadHanyuPinyinOutputFormatCombination e) {
log.error(e, e);
}
} else {
retVal += chineses[i];
}
}
return retVal;
}
本文介绍了一个实用工具,能够将汉字转换成汉语拼音的首字母或完整形式,同时保持英文字符不变。该工具采用HanyuPinyinOutputFormat格式化拼音输出,并通过PinyinHelper进行转换。
1126

被折叠的 条评论
为什么被折叠?



