亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java漢字轉成漢語拼音工具類

發布時間:2020-09-22 12:05:49 來源:腳本之家 閱讀:190 作者:SummerChill 欄目:編程語言

Java漢字轉成漢語拼音工具類,需要用到pinyin4j.jar包.

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 HanyuPinyinHelper {

  /** 
   * 將文字轉為漢語拼音
   * @param chineselanguage 要轉成拼音的中文
   */
  public String toHanyuPinyin(String ChineseLanguage){
    char[] cl_chars = ChineseLanguage.trim().toCharArray();
    String hanyupinyin = "";
    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 輸出拼音全部小寫
    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不帶聲調
    defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V) ;
    try {
      for (int i=0; i<cl_chars.length; i++){
        if (String.valueOf(cl_chars[i]).matches("[\u4e00-\u9fa5]+")){// 如果字符是中文,則將中文轉為漢語拼音
          hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0];
        } else {// 如果字符不是中文,則不轉換
          hanyupinyin += cl_chars[i];
        }
      }
    } catch (BadHanyuPinyinOutputFormatCombination e) {
      System.out.println("字符不能轉成漢語拼音");
    }
    return hanyupinyin;
  }
  
  public static String getFirstLettersUp(String ChineseLanguage){
    return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.UPPERCASE);
  }
  
  public static String getFirstLettersLo(String ChineseLanguage){
    return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.LOWERCASE);
  }
  
  public static String getFirstLetters(String ChineseLanguage,HanyuPinyinCaseType caseType) {
    char[] cl_chars = ChineseLanguage.trim().toCharArray();
    String hanyupinyin = "";
    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    defaultFormat.setCaseType(caseType);// 輸出拼音全部大寫
    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不帶聲調
    try {
      for (int i = 0; i < cl_chars.length; i++) {
        String str = String.valueOf(cl_chars[i]);
        if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,則將中文轉為漢語拼音,并取第一個字母
          hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0].substring(0, 1);
        } else if (str.matches("[0-9]+")) {// 如果字符是數字,取數字
          hanyupinyin += cl_chars[i];
        } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母
          hanyupinyin += cl_chars[i];
        } else {// 否則不轉換
          hanyupinyin += cl_chars[i];//如果是標點符號的話,帶著
        }
      }
    } catch (BadHanyuPinyinOutputFormatCombination e) {
      System.out.println("字符不能轉成漢語拼音");
    }
    return hanyupinyin;
  }
  
  public static String getPinyinString(String ChineseLanguage){
    char[] cl_chars = ChineseLanguage.trim().toCharArray();
    String hanyupinyin = "";
    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 輸出拼音全部大寫
    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不帶聲調
    try {
      for (int i = 0; i < cl_chars.length; i++) {
        String str = String.valueOf(cl_chars[i]);
        if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,則將中文轉為漢語拼音,并取第一個字母
          hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(
              cl_chars[i], defaultFormat)[0];
        } else if (str.matches("[0-9]+")) {// 如果字符是數字,取數字
          hanyupinyin += cl_chars[i];
        } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母

          hanyupinyin += cl_chars[i];
        } else {// 否則不轉換
        }
      }
    } catch (BadHanyuPinyinOutputFormatCombination e) {
      System.out.println("字符不能轉成漢語拼音");
    }
    return hanyupinyin;
  }
  /**
   * 取第一個漢字的第一個字符
  * @Title: getFirstLetter 
  * @Description: TODO 
  * @return String  
  * @throws
   */
  public static String getFirstLetter(String ChineseLanguage){
    char[] cl_chars = ChineseLanguage.trim().toCharArray();
    String hanyupinyin = "";
    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 輸出拼音全部大寫
    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不帶聲調
    try {
      String str = String.valueOf(cl_chars[0]);
      if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,則將中文轉為漢語拼音,并取第一個字母
        hanyupinyin = PinyinHelper.toHanyuPinyinStringArray(
        cl_chars[0], defaultFormat)[0].substring(0, 1);;
      } else if (str.matches("[0-9]+")) {// 如果字符是數字,取數字
        hanyupinyin += cl_chars[0];
      } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母

        hanyupinyin += cl_chars[0];
      } else {// 否則不轉換

      }
    } catch (BadHanyuPinyinOutputFormatCombination e) {
      System.out.println("字符不能轉成漢語拼音");
    }
    return hanyupinyin;
  }
  
  public static void main(String[] args) {
    HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper() ;
    System.out.println(hanyuPinyinHelper.toHanyuPinyin("多發的發獨守空房阿道夫打發第三方"));
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁强县| 利川市| 北川| 怀来县| 郑州市| 原阳县| 晋宁县| 宜章县| 大悟县| 喀喇沁旗| 无锡市| 连云港市| 武定县| 衡水市| 北川| 新巴尔虎右旗| 鸡泽县| 巴塘县| 沙湾县| 莒南县| 莲花县| 灌阳县| 凤台县| 泾源县| 青海省| 广德县| 五寨县| 合江县| 鄂尔多斯市| 辰溪县| 乳源| 定安县| 罗城| 建湖县| 望谟县| 砀山县| 宝兴县| 依安县| 德安县| 拜城县| 鹤峰县|