该工具需要引入依赖
<!--汉字转拼音依赖-->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
2、具体工具类
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.exception.BadHanyuPinyinOutputFormatCombination;
/**
* @author LIFULIN
* @className StringUtil
* @description TODO
* @date 2020/7/24-17:16
*/
public class StringUtil {
/**
* 判断一个字符串是否为中文,若为中文则将中文的部分转换为拼音
*
* @param chineseName
* @return
*/
public static String StrCnToEn(String chineseName) {
StringBuilder pinyinStr = new StringBuilder();
char[] newChar = chineseName.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (char c : newChar) {
if (c > 128) {
try {
pinyinStr.append(PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat)[0]);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinStr.append(c);
}
}
return pinyinStr.toString();
}
}