• java汉字转拼音pinyin4j-2.5.0.jar用法


    要先下载哦,
    pinyin4j下载链接
    可能会出现Cannot resolve symbol ‘net’,找到上面文件的下载路径,IDEA中File->Project Structure -> Modules->Dependencies
    在这里插入图片描述

    import java.util.*;
    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;
    class Test {
        public static String getPinyin(String str) throws Exception {
            if (str== null || str.length()==0) {
                return "";
            }
            char[] t1 = null;
            t1 = str.toCharArray();
            String[] t2 = new String[t1.length];
            // 设置汉字拼音输出的格式
            HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
            t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
            t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
            t3.setVCharType(HanyuPinyinVCharType.WITH_V);
    
            String t4 = "";
            int t0 = t1.length;
            try {
                for (int i = 0; i < t0; i++) {
                    // 判断是否为汉字字符
                    if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
                        // 将汉字的几种全拼都存到t2数组中
                        t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
                        t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
                    } else {
                        // 如果不是汉字字符,直接取出字符并连接到字符串t4后
                        t4 += Character.toString(t1[i]);
                    }
                }
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                throw e;
            }
            return t4;
        }
    
        /**
         * 汉字转简拼
         * @param str
         * @return String
         */
        public static String getPinYinHeadChar(String str) {
            String convert = "";
            if (str== null || str.length()==0) {
                return convert;
            }
            for (int j = 0; j < str.length(); j++) {
                char word = str.charAt(j);
                // 提取汉字的首字母
                String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
                if (pinyinArray != null) {
                    convert += pinyinArray[0].charAt(0);
                } else {
                    convert += word;
                }
            }
            return convert.toUpperCase();
        }
        public static void main(String[] args) {
            Test test = new Test();
            String str ="矽疑";
            try {
                System.out.println(test.getPinyin(str));
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            System.out.println(getPinYinHeadChar(str));
    
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
  • 相关阅读:
    uniapp实现全局悬浮框
    Apache Maven是什么?|Maven安装
    什么是SSL/TLS ?
    菜单子节点的写法
    [附源码]SSM计算机毕业设计基于ssm的电子网上商城JAVA
    厨卫电器行业S2B2C系统网站解决方案:打造S2B2C平台全渠道商业系统
    人血清白蛋白修饰绿原酸/诺氟沙星/沙拉沙星, HSA-CA/Nor/Sarafloxacin
    【Spring】依赖注入方式(附代码理解使用)——setter与构造器注入;依赖自动装配;使用p命名空间注入属性值;注入数组集合类型
    96. 不同的二叉搜索树
    2023/9/20 -- C++/QT
  • 原文地址:https://blog.csdn.net/qq_45418837/article/details/130905891