/** * 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("我是塗聚文,江西人");
輸出: