文字の最初の文字を取得するJava

 インポートジャーパッケージ:

1  < 依存性> 
2    < のgroupId > com.belerweb </ groupIdを> 
3    < たartifactId > pinyin4j </ たartifactId > 
4    < バージョン> 2.5.0 </ バージョン> 
5  </ 依存>

コード: 

  1つの パッケージorg.jeecg.modules.system.util。
  2  
  3  インポートnet.sourceforge.pinyin4j.PinyinHelper。
  4  インポートnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat。
  5  インポートnet.sourceforge.pinyin4j.format.HanyuPinyinToneType。
  6  
  7  インポートjava.util.regex.Matcher。
  8  インポートjava.util.regex.Patternの。
  9  
10  / ** 
11  *获取首字母工具
 12  *
 13  * @author 
14  * @Date
 15   * / 
16  パブリック クラス{ChineseCharacterUtil
 。17  
18である     / ** 
。19       *文字が最初の文字または大文字のスペルを受ける
 20       *
 21れる      * @param 漢字
 22である      * @param trueにisFullスペルかどうか:偽スペルが表す示す:イニシャル
 23である      *
 24       * @return 綴りや文字が大文字チャネリング
 25       * / 
26がある     公共の 静的文字列getUppercase(中国語文字列、ブールisFull){
 27          リターン; convertHanzi2Pinyin(中国語、isFull).toUpperCase()
 28      }
 29  
30      / ** 
31 IS      *文字が最初の文字または小文字スペルプレゼント
 32       *
 33である      * @param 漢字
 34である      * @param isFull真のスペルかどうか:偽スペルを示す表す:イニシャル
 35       *
 36       * @return チャネリング最初の文字または小文字のスペル
 37       * / 
38である     パブリック 静的   文字列getLowercase(中国語文字列、ブールisFull){
 39          リターンconvertHanzi2Pinyin(中国語、isFull).toLowerCase();
 40      }
 41は、 
42である     / ** 
43れる      *表音漢字に変換し
 44である      * <P>
 45      *頭字語またはスペル
 46をされる      *
 47の      * @param 漢字文字列
 48       * @param isFull trueにスペルかどうか:偽のスペルが表す示し:イニシャル
 49       *
 50       * @return 歴史
 51がある      * / 
52です     プライベート 静的な文字列convertHanzi2Pinyin (文字列の漢字、ブールisFull){
 53がある         / ** *
 54がある          * ^ [\ u2E80- \ u9FFF] + $は、東アジアのすべての言語に一致する
 55           * ^ [\ u4E00- \ u9FFF] + $簡体字および繁体字マッチ
 56           * ^簡素化された[\ u4E00- \ u9FA5] + $マッチ
 57           * / 
58         文字列の正規表現= "^ [\ u4E00- \ u9FFF] + $" ;
59          StringBufferのSB = 新規のStringBuffer();
60          であれば(漢字== NULL || "" .equals(hanzi.trim())){
 61              リターン "" 62          }
 63          文字ピンイン= "" ;
64          のためにINT iは= 0; I <hanzi.length(); iは++ ){
 65              チャーユニット= hanzi.charAt(I)。
66              // 是汉字、则转拼音
67              であれば(一致(String.valueOf(ユニット)、正規表現)){
 68                  ピンイン=convertSingleHanzi2Pinyin(ユニット)
 69                  IF (isFull){
 70                      sb.append(ピンイン);
 71れる                 }
 72                  {
 73である                      sb.append(pinyin.charAt(0 ));
 74                  }
 75              } {
 76                  sb.append(ユニット) ;
 77              }
 78          }
 79          リターンsb.toString();
 80      }
 81  
82      / ** 
83       *単一ピンイン文字に変換する
 84       *
85       * @param 漢字汉字字符
 86       *
 87       * @return 拼音
 88       * / 
89      プライベート 静的文字列convertSingleHanzi2Pinyin(チャー漢字){
 90          HanyuPinyinOutputFormat OUTPUTFORMAT = 新しいHanyuPinyinOutputFormat()。
91          outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE)。
92          文字列[] RES。
93          StringBufferのSB = 新規のStringBuffer();
94          試み{
 95の              RES =PinyinHelper.toHanyuPinyinStringArray(漢字、OUTPUTFORMAT);
 96              sb.append(RES [0]); // polyphoneため、最初のアルファベット
97          } キャッチ(例外E){
 98              e.printStackTrace();
 99              リターン」 " ;
 100          }
 101          リターンsb.toString();
 102      }
 103  
104      / ** *
 105       *マッチ
 106       * <P>
 107       *文字マッチングと正規表現
 108       *
 109       * @param STRソース文字列
 110      * @Param REGEX正規表現
 111       *
 112       * @return trueに:マッチが偽成功:マッチングが失敗した
 113       * / 
114      プライベート 静的 ブールマッチ(STR文字列、文字列REGEX){
 115          パターン=パターンPattern.compile(REGEX)の、
 1 16          マッチャを=マッチャPattern.matcher(STR);
 117          戻りmatcher.find();
 118      }
 119  
120      / ** 
121       *試験方法
 122       * / 
123      パブリック 静的 ボイドメイン(文字列[]引数){
124          のSystem.out.println(convertHanzi2Pinyin( "ファーガソン広東省Q"、falseに).toLowerCase());
 125      }
 126 }

 

おすすめ

転載: www.cnblogs.com/chLxq/p/11839677.html