jiaosong
2023-09-14 a7a57c08a3c632bfc7fc82b8015167022c2d8505
server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java
@@ -81,29 +81,35 @@
    * @return 汉语拼音首字母
    */
   public static String getFirstSpell(String chinese) {
      StringBuffer pybf = new StringBuffer();
      char[] arr = chinese.toCharArray();
      HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
      defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
      defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
      for (int i = 0; i < arr.length; i++) {
         if (arr[i] > 128) {
            try {
               String[] temp = PinyinHelper.toHanyuPinyinStringArray(
                     arr[i], defaultFormat);
               if (temp != null) {
                  pybf.append(temp[0].charAt(0));
      try {
         StringBuffer pybf = new StringBuffer();
         char[] arr = chinese.toCharArray();
         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
         for (int i = 0; i < arr.length; i++) {
            if (arr[i] > 128) {
               try {
                  String[] temp = PinyinHelper.toHanyuPinyinStringArray(
                        arr[i], defaultFormat);
                  if (temp != null) {
                     pybf.append(temp[0].charAt(0));
                  }
               } catch (BadHanyuPinyinOutputFormatCombination e) {
                  e.printStackTrace();
               }catch (Exception e){
                  //e.printStackTrace();
               }
            } catch (BadHanyuPinyinOutputFormatCombination e) {
               e.printStackTrace();
            }catch (Exception e){
               //e.printStackTrace();
            } else {
               pybf.append(arr[i]);
            }
         } else {
            pybf.append(arr[i]);
         }
         return pybf.toString().replaceAll("\\W", "").trim();
      }catch (Exception e){
      }
      return pybf.toString().replaceAll("\\W", "").trim();
      return  null;
   }
   /**
    * 获取汉字串拼音首字母,英文字符不变
@@ -150,25 +156,30 @@
    * @return 汉语拼音
    */
   public static String getFullSpell(String chinese) {
      StringBuffer pybf = new StringBuffer();
      char[] arr = chinese.toCharArray();
      HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
      defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
      defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
      for (int i = 0; i < arr.length; i++) {
         if (arr[i] > 128) {
            try {
               pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i],
                     defaultFormat)[0]);
            } catch (BadHanyuPinyinOutputFormatCombination e) {
               //e.printStackTrace();
            }catch (Exception e){
               //e.printStackTrace();
      try {
         StringBuffer pybf = new StringBuffer();
         char[] arr = chinese.toCharArray();
         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
         for (int i = 0; i < arr.length; i++) {
            if (arr[i] > 128) {
               try {
                  pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i],
                        defaultFormat)[0]);
               } catch (BadHanyuPinyinOutputFormatCombination e) {
                  //e.printStackTrace();
               }catch (Exception e){
                  //e.printStackTrace();
               }
            } else {
               pybf.append(arr[i]);
            }
         } else {
            pybf.append(arr[i]);
         }
         return pybf.toString();
      }catch (Exception e){
      }
      return pybf.toString();
      return  null;
   }
}