欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年05月15日 12:30:11   作者:SummerChill  
這篇文章主要為大家詳細介紹了Java漢字轉成漢語拼音工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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("多發(fā)的發(fā)獨守空房阿道夫打發(fā)第三方"));
  }
}

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

相關文章

  • Springboot注解之@EnableAutoConfiguration詳解

    Springboot注解之@EnableAutoConfiguration詳解

    這篇文章主要介紹了Springboot注解之@EnableAutoConfiguration詳解,@EnableAutoConfiguration是一個加載Starter目錄包之外的需要Spring自動生成bean對象,本文對其進行總結,需要的朋友可以參考下
    2023-08-08
  • Spring中@DependsOn注解的使用代碼實例

    Spring中@DependsOn注解的使用代碼實例

    這篇文章主要介紹了Spring中@DependsOn注解的使用代碼實例,Spring中@DependsOn,主要是使用在類和方法上, 作用是當前對象要依賴另外一些對象,被依賴的對象會先注冊到Spring的IOC容器中,需要的朋友可以參考下
    2024-01-01
  • idea撤銷git?commit操作詳解

    idea撤銷git?commit操作詳解

    這篇文章主要為大家介紹了idea撤銷git?commit操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • springboot整合vue實現(xiàn)上傳下載文件

    springboot整合vue實現(xiàn)上傳下載文件

    這篇文章主要為大家詳細介紹了springboot整合vue實現(xiàn)上傳下載文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用java采集京東商城區(qū)劃數據示例

    使用java采集京東商城區(qū)劃數據示例

    這篇文章主要介紹了java采集京東的全國區(qū)劃數據示例,保存成json形式,如想轉換到數據庫只需反序列化為對象保存到數據庫即可
    2014-03-03
  • Java集合框架超詳細小結

    Java集合框架超詳細小結

    Java中提供的一種容器,可以用來存儲多個數據。java集合大致可以分為Set,List,Queue和Map四種體系。這篇文章主要介紹了Java集合框架超詳細小結,需要的朋友可以參考下
    2021-08-08
  • java String類型對象轉換為自定義類型對象的實現(xiàn)

    java String類型對象轉換為自定義類型對象的實現(xiàn)

    本文主要介紹了java String類型對象轉換為自定義類型對象的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Java中Socket實現(xiàn)數據通信的示例代碼

    Java中Socket實現(xiàn)數據通信的示例代碼

    本文主要介紹了Java中Socket實現(xiàn)數據通信的示例代碼,Socket可以建立起客戶端和服務器之間的連接,實現(xiàn)數據的傳輸和交互,感興趣的可以了解一下
    2023-09-09
  • Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊問題

    Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊問題

    這篇文章主要介紹了Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊,簡單介紹了lock鎖及鎖的底層知識,結合案例給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Java實現(xiàn)abc字符串排列組合

    Java實現(xiàn)abc字符串排列組合

    這篇文章主要為大家詳細介紹了JAVA實現(xiàn)abc字符串的排列組合,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論