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

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

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

Maven中央库:https://mvnrepository.com/artifact/org.clojars.cbilson/pinyin4j/2.5.0
完整代码:


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(
                       "[\\u4E00-\\u9FA5]+")) {
                   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 = "快关注愚生浅末";
       System.out.println(getPingYin(cnStr));
       System.out.println(getPinYinHeadChar(cnStr));
   }
}

运行效果:
汉字转拼音的工具类
公众号原文地址:https://mp.weixin.qq.com/s/K0tBRnV0X8yy2OJY5Okt-A

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。