Java: Pinying 拼音

 

/**
 * encoding: utf-8
 * 版權所有 2023 塗聚文有限公司
 * 許可信息查看:
 * 描述:https://github.com/houbb/pinyin
 * https://mvnrepository.com/artifact/com.github.stuxuhai/jpinyin/1.1.8
 * https://github.com/ranLee1/jpinyin
 * https://github.com/shenkevin/jpinyin
 * https://github.com/hellokaton/TinyPinyin  速度快
 * # Author    : geovindu,Geovin Du 塗聚文.
 * # IDE       : IntelliJ IDEA 2023.1 Java 17
 * # Datetime  : 2023 - 2023/12/16 - 6:18
 * # User      : geovindu
 * # Product   : IntelliJ IDEA
 * # Project   : javademo
 * # File      : PinyinHelper.java  類
 * # explain   : 學習
 **/

package Common;

import java.util.Random;
import java.lang.String;
import java.io.UnsupportedEncodingException;
import java.util.Random;
//import opensource.jpinyin.ChineseHelper;
//import opensource.jpinyin.PinyinFormat;
//import opensource.jpinyin.PinyinHelper;
import com.github.stuxuhai.jpinyin.ChineseHelper;
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;
import com.github.stuxuhai.jpinyin.*;

/**
 * 漢字轉拼音類
 */
public class DuPinyinHelper {

    /**
     *有聲調的拼音
     * @param ChineseWord 中國的首都是北京
     * @return
     */
    public  static String ShenTiao(String ChineseWord)
    {
        String pin="";
        try {

            
            //帶音標   zhōng,guó,de,shǒu,dū,shì,běi,jīng
            pin=com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord,",",PinyinFormat.WITH_TONE_MARK);
            


  

            return  pin;

        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
            return  null;
        }

    }

    /**
     * 用數字標的拼音
     * @param ChineseWord
     * @return
     */
    public static String ShengtiaoNum(String ChineseWord)
    {
        String pin="";
        try {


            //用數字代替音標   zhong1,guo2,de5,shou3,du1,shi4,bei3,jing1
            System.out.println(com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord,",",PinyinFormat.WITH_TONE_NUMBER));
            pin=com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord,",",PinyinFormat.WITH_TONE_NUMBER);
            //不帶音標  zhong,guo,de,shou,du,shi,bei,jing
           // System.out.println(com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord, ",", PinyinFormat.WITHOUT_TONE));
           // pin=com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord, ",", PinyinFormat.WITHOUT_TONE);
            return  pin;

        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
            return  null;
        }
    }

    /**
     * 無聲調的拼音
     * @param ChineseWord
     * @return
     */
    public static String NoShengtiaoNum(String ChineseWord)
    {
        String pin="";
        try {


            //不帶音標  zhong,guo,de,shou,du,shi,bei,jing
            // System.out.println(com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord, ",", PinyinFormat.WITHOUT_TONE));
             pin=com.github.stuxuhai.jpinyin.PinyinHelper.convertToPinyinString(ChineseWord, ",", PinyinFormat.WITHOUT_TONE);
            return  pin;

        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
            return  null;
        }
    }
    /**
     * 小寫首字母
     * @param ChineseWord
     * @return
     */
    public static String ShengMuLower(String ChineseWord)
    {
        String pin="";
        try {

            //System.out.println(com.github.stuxuhai.jpinyin.PinyinHelper.getShortPinyin(ChineseWord));//輸出拼音首字母 小寫 zgdsdsbj
            pin=com.github.stuxuhai.jpinyin.PinyinHelper.getShortPinyin(ChineseWord).toLowerCase();
            return  pin;

        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
            return  null;
        }
    }

    /**
     * 大寫首字母
     * @param ChineseWord
     * @return
     */
    public static String ShengMuUpper(String ChineseWord)
    {
        String pin="";
        try {

            //System.out.println(com.github.stuxuhai.jpinyin.PinyinHelper.getShortPinyin(ChineseWord));//輸出拼音首字母
            pin=com.github.stuxuhai.jpinyin.PinyinHelper.getShortPinyin(ChineseWord).toUpperCase();
            return  pin;

        }
        catch (Exception ex)
        {
            System.out.println(ex.getMessage());
            return  null;
        }
    }

}

  

調用:

DuPinyinHelper.ShenTiao("我是塗聚文,江西人");

  

輸出:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章