一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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]+")) {// 如果字符是數字,取數字
          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("多發的發獨守空房阿道夫打發第三方"));
  }
}

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人精品视频频 | 狠狠香蕉| 色啪久久婷婷综合激情 | 歪歪私人影院成人毛片 | 欧亚精品一区二区三区 | 久久精品观看 | 久久99视热频国只有精品 | 色综合色狠狠天天综合色hd | 9久re在线观看视频精品 | 91蜜桃 | 国产欧美日韩高清专区ho | 荡娃艳妇有声小说 | 色吧 | 精品免费视在线视频观看 | 天堂资源在线www中文 | 521色香蕉网在线观看免费 | 久久99国产综合精品AV蜜桃 | 美女扒开屁股让男人进去 | 国产综合成人久久大片91 | 午夜香蕉成视频人网站高清版 | 国产成人久久精品区一区二区 | 日韩性事 | 欧美日韩高清完整版在线观看免费 | 久久毛片视频 | 海绵宝宝第二季全集免费观看 | 国产巨大bbbb俄罗斯 | 亚洲免费闲人蜜桃 | 美女的让男人桶爽30分钟的 | 成人久久伊人精品伊人 | 2019中文字幕 | 国产精品1024永久免费视频 | 九九精品影院 | 国内永久第一免费福利视频 | 日本乱中文字幕系列在线观看 | 干美女在线视频 | 午夜影院免费入口 | 国产成人青草视频 | 国产草逼视频 | 无遮挡h肉动漫在线观看电车 | 美国女网址www呦女 美国复古性经典xxxxx | 色综合天天综合中文网 |