激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - Java漢字轉成漢語拼音工具類

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

2020-09-30 15:57SummerChill JAVA教程

這篇文章主要為大家詳細介紹了Java漢字轉成漢語拼音工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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]+")) {// 如果字符是數(shù)字,取數(shù)字
          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]+")) {// 如果字符是數(shù)字,取數(shù)字
          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]+")) {// 如果字符是數(shù)字,取數(shù)字
        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ā)第三方"));
  }
}

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91香蕉影视 | 国产成人在线一区二区 | 77成人影院| 免费在线观看毛片 | 欧美一区二区三区四区夜夜大片 | 国产免费看 | 视频h在线 | 午夜精品久久久久久久久久久久久蜜桃 | 国产亚洲欧美日韩在线观看不卡 | 99在线热播精品免费 | 欧美日韩一区,二区,三区,久久精品 | 久久精品久久精品国产大片 | 日韩av片在线免费观看 | 亚洲人成在线播放网站 | 国产a级久久 | 一区二区三区四区在线 | 成人免费一区二区三区 | 日本高清在线免费 | 欧美激情猛片xxxⅹ大3 | 91网站链接 | 99re66热这里只有精品8 | 国产在线免 | 91精品国产99久久久久久 | 久久99亚洲精品 | 国产jjizz一区二区三区视频 | 看片一区二区三区 | 91短视频在线观看视频 | 美女羞羞视频网站 | 欧美精品1区 | 少妇的肉体的满足毛片 | 久久久精品视频国产 | 国产成人精品日本亚洲语音 | 久草久视频 | 毛片免费视频播放 | 国产羞羞视频 | 国产精品久久久久久久久久久天堂 | 免费人成在线播放 | 日韩av电影免费看 | 欧美一级免费高清 | 国产欧美一区二区三区免费看 | 激情视频免费观看 |