汉字转拼音
2023-12-18 17:45:56
<!--中文转拼音-->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
/**
* 得到中文首字母(中国 -> zg)
*
* @param str 需要转化的中文字符串
* @return 小写首字母缩写的字符串
*/
public static String getPinYinHeadChar(String str) {
StringBuilder convert = new StringBuilder();
if (StringUtils.isBlank(str)) {
return "";
}
String chineseStr = toStrByChinese(str);
for (int j = 0; j < chineseStr.length(); j++) {
char word = chineseStr.charAt(j);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert.append(pinyinArray[0].charAt(0));
} else {
convert.append(word);
}
}
String result = convert.toString().toLowerCase();
return result;
}
/**
* 提取字符串中文字符
*
* @param str
* @return
*/
public static String toStrByChinese(String str) {
Matcher m = CHINESE_PATTERN.matcher(str);
StringBuffer sb = new StringBuffer();
while (m.find()) {
sb.append(m.group());
}
return sb.toString();
}
示例:
public static void main(String[] args) {
String s = "您好,china中国";
String strByChinese = toStrByChinese(s);
System.out.println("strByChinese = " + strByChinese);
//结果:strByChinese = 您好中国
String pinYinHeadChar = getPinYinHeadChar(s);
System.out.println("pinYinHeadChar = " + pinYinHeadChar);
//结果:pinYinHeadChar = nhzg
}
文章来源:https://blog.csdn.net/weixin_46894136/article/details/135066917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!