优化
This commit is contained in:
@ -9,32 +9,32 @@ import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombi
|
||||
|
||||
public class PinYinUtil {
|
||||
|
||||
public static String getChineseNameInitials(String chineseName) {
|
||||
public static String chineseToFullPinyin(String chinese) {
|
||||
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
|
||||
// 设置拼音大小写格式为大写
|
||||
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
|
||||
// 设置拼音大小写格式为小写
|
||||
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
|
||||
// 设置拼音声调格式为无音调
|
||||
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
|
||||
// 设置 ü 的显示格式
|
||||
format.setVCharType(HanyuPinyinVCharType.WITH_V);
|
||||
|
||||
StringBuilder initials = new StringBuilder();
|
||||
for (char c : chineseName.toCharArray()) {
|
||||
StringBuilder pinyin = new StringBuilder();
|
||||
for (char c : chinese.toCharArray()) {
|
||||
if (Character.toString(c).matches("[\\u4E00-\\u9FA5]+")) {
|
||||
try {
|
||||
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format);
|
||||
if (pinyinArray != null) {
|
||||
// 取拼音的首字母
|
||||
initials.append(pinyinArray[0].charAt(0));
|
||||
// 取第一个拼音结果添加到结果中
|
||||
pinyin.append(pinyinArray[0]);
|
||||
}
|
||||
} catch (BadHanyuPinyinOutputFormatCombination e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
// 非中文字符直接添加
|
||||
initials.append(c);
|
||||
pinyin.append(c);
|
||||
}
|
||||
}
|
||||
return initials.toString();
|
||||
return pinyin.toString();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user