Java工具类——汉字转拼音

简介: 写了一个根据汉字获取拼音字符串的工具类

需要用到pinyin4j-2.5.0.jar包。

废话不多说上代码。

packagecom.xxx.util;
importnet.sourceforge.pinyin4j.PinyinHelper;
importnet.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
importnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
importnet.sourceforge.pinyin4j.format.HanyuPinyinToneType;
importnet.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
importnet.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/*** 根据汉字获取拼音处理* @AuThor wangbyn*/publicclassGetPinyin {
/*** 得到 全拼* @Param src* @return*/publicstaticStringgetPingYin(Stringsrc) {
char[] t1=null;
t1=src.toCharArray();
String[] t2=newString[t1.length];
HanyuPinyinOutputFormatt3=newHanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
StringBuffert4=newStringBuffer();
intt0=t1.length;
try {
for (charc : t1) {
// 判断是否为汉字字符if (Character.toString(c).matches(
"[\\u4E00-\\u9FA5]+")) {
t2=PinyinHelper.toHanyuPinyinStringArray(c, t3);
t4.append(t2[0]);
                                } else {
t4.append(Character.toString(c));
                                }
                        }
returnt4.toString();
                } catch (BadHanyuPinyinOutputFormatCombinatione1) {
e1.printStackTrace();
                }
returnt4.toString();
        }
/*** 得到中文首字母* @param str* @return*/publicstaticStringgetPinYinHeadChar(Stringstr) {
StringBufferconvert=newStringBuffer();
for (intj=0; j<str.length(); j++) {
charword=str.charAt(j);
String[] pinyinArray=PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray!=null) {
convert.append(pinyinArray[0].charAt(0));
                        } else {
convert.append(word);
                        }
                }
returnconvert.toString();
        }
publicstaticvoidmain(String[] args) {
StringcnStr="俺没有文化";
System.out.println(getPingYin(cnStr));
System.out.println(getPinYinHeadChar(cnStr));
        }
}

运行结果:

image.png

目录
相关文章
|
1天前
|
Java
JAVA工具类匹配重复或者连续的字符和符号
JAVA工具类匹配重复或者连续的字符和符号
7 2
|
2天前
|
算法 Java
基于java雪花算法工具类SnowflakeIdUtils-来自chatGPT
基于java雪花算法工具类SnowflakeIdUtils-来自chatGPT
10 3
|
3天前
|
Java easyexcel
java开发excel导入导出工具类基于EasyExcel
java开发excel导入导出工具类基于EasyExcel
12 1
|
4天前
|
Java
java工具类调用service层,mapper层
java工具类调用service层,mapper层
8 1
|
5天前
|
Java
JAVA随机生成一个汉字的方法和代码
JAVA随机生成一个汉字的方法和代码
|
8天前
|
Java 数据库连接
Java的数据库连接工具类的编写
Java的数据库连接工具类的编写
11 1
|
15天前
|
Java 数据安全/隐私保护
JAVA中MD5加密(MD5工具类)
JAVA中MD5加密(MD5工具类)
16 1
|
1天前
|
XML 安全 Java
一篇文章讲明白JAVA常用的工具类
一篇文章讲明白JAVA常用的工具类
|
2天前
|
Java 数据安全/隐私保护
随机密码生成工具类(java)
随机密码生成工具类(java)
4 0
|
3天前
|
Java 数据安全/隐私保护
AES加密工具类(java)
AES加密工具类(java)
17 0