1,需要的的jar
<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency>
2,代码import lombok.extern.slf4j.Slf4j;
import net.sourceforge.pinyin4j.PinyinHelper;
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;/*** 汉字转拼音* @author chenye* 2018年10月19日*/
@Slf4j
public class PinyinUtil {public static String pinyin(String input) {StringBuilder pinyin = new StringBuilder();for (int i = 0; i < input.length(); i++) {HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);char c = input.charAt(i);String[] pinyinArray = null;try {pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}if (pinyinArray != null && pinyinArray.length>0) {pinyin.append(pinyinArray[0]);} else if (c != ' ') {pinyin.append(input.charAt(i));}}return pinyin.toString().trim().toLowerCase();}public static void main(String[] args) {log.debug(pinyin("张三1"));}}
public static String pingyin(String input) {
StringBuilder pinyin = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
char c = input.charAt(i);
String[] pinyinArray = null;
try {
pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
if (pinyinArray != null) {
pinyin.append(pinyinArray[0]);
} else if (c != ' ') {
pinyin.append(input.charAt(i));
}
}
return pinyin.toString().trim().toLowerCase();
}