java根据汉字生成首字母大写

1.添加相关的依赖

<!--添加汉字首字母的jar包-->
<dependency>
    <groupId>com.belerweb</groupId>
    <artifactId>pinyin4j</artifactId>
    <version>2.5.0</version>
</dependency>

2.测试

   /**
     * 得到中文首字母(清华大学 -> QHDX)
     * @param str 需要转化的中文字符串
     * @return 大写首字母缩写的字符串
     */
    public static String getPinYinHeadChar(String str) {
        StringBuilder convert = new StringBuilder();
        for (int j = 0; j < str.length(); j++) {
            char word = str.charAt(j);
            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
            if (pinyinArray != null) {
                convert.append(pinyinArray[0].charAt(0));
            } else {
                convert.append(word);
            }
        }
        return convert.toString().toUpperCase();
    }

    public static void main(String[] args) {
        System.out.println(getPinYinHeadChar("清华大学"));
    }

3.结果

原文地址:https://www.cnblogs.com/sun2020/p/12620834.html