拧的多音字组词 拧有三个读音

时间:2023-04-15 08:59/span> 作者:tiger 分类: 经验 浏览:6232 评论:0

平常是处理文字的时候更多用到的是字符串方面的工具类,作为学习汉字的工具,拼音还是很重要的一个辅助方式,分享一个汉字转拼音的工具类。可以用于帮助学习汉字或者作为一些汉字的辅助说明都也是可以的。这个还支持将汉字拼音输出为首字母,例如&34;愷龍&34;可以输出为&34;kl&34;,在现在大家很多时候都用缩写的情况下,可以也可以作为一个辅助的工具。

该工具类用到了pinyin4j-2.5.0.jar包

包下载地址:网盘下载:http://kohler.lanzouv.com/origin/i3bQG0g2imkj

Maven中央库:http://mvnrepository.com/origin/artifact/org.clojars.cbilson/pinyin4j/2.5.0

完整代码:

package com.kailong.servlet;

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;


public class GetPinyin {

    /**
     * 得到 全拼
     * @Param src
     * @return
     */
    public static String getPingYin(String src) {
        char[] t1 = null;
        t1 = src.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);
        StringBuffer t4 = new StringBuffer();
        int t0 = t1.length;
        try {
            for (char c : t1) {
                // 判断是否为汉字字符
                if (Character.toString(c).matches(
                        &34;[\\u4E00-\\u9FA5]+&34;)) {
                    t2 = PinyinHelper.toHanyuPinyinStringArray(c, t3);
                    t4.append(t2[0]);
                } else {
                    t4.append(Character.toString(c));
                }
            }
            return t4.toString();
        } catch (BadHanyuPinyinOutputFormatCombination e1) {
            e1.printStackTrace();
        }
        return t4.toString();
    }

    /**
     * 得到中文首字母
     * @param str
     * @return
     */
    public static String getPinYinHeadChar(String str) {

        StringBuffer convert = new StringBuffer();
        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();
    }


    public static void main(String[] args) {

        String cnStr = &34;快关注愚生浅末&34;;
        System.out.println(getPingYin(cnStr));
        System.out.println(getPinYinHeadChar(cnStr));
    }

}

运行效果:

公众号原文地址:http://mp.weixin.qq.com/origin/s/K0tBRnV0X8yy2OJY5Okt-A

欢迎关注公众号:愚生浅末。

文章评论