<!-- 中文拼音 -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
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.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PinYinUtils {
private static final Logger logger = LoggerFactory.getLogger(PinYinUtils.class);
public static String getCamelPinYin(String hz, boolean type) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
String msg;
StringBuilder builder = new StringBuilder();
try {
for (char value : hz.toCharArray()) {
if (Character.toString(value).matches("[\\u4E00-\\u9FA5]+")) {
msg = PinyinHelper.toHanyuPinyinStringArray(value, format)[0];
} else {
msg = Character.toString(value);
}
if (type) {
builder.append(msg.substring(0, 1).toUpperCase()).append(msg.substring(1));
} else {
builder.append(msg);
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
logger.error(e.getMessage(), e);
}
return builder.toString();
}
}