gaodm 3 лет назад
Родитель
Сommit
7ab3aee961
1 измененных файлов с 17 добавлено и 34 удалено
  1. 17 34
      common/src/main/java/com/diagbot/util/Cn2SpellUtil.java

+ 17 - 34
common/src/main/java/com/diagbot/util/Cn2SpellUtil.java

@@ -24,7 +24,9 @@ public class Cn2SpellUtil {
                     public Map<String, String[]> mapping() {
                         HashMap<String, String[]> map = new HashMap<String, String[]>();
                         map.put("", new String[] { "HE" });
+                        map.put("𬌗", new String[] { "HE" });
                         map.put("", new String[] { "MU" });
+                        map.put("𧿹", new String[] { "MU" });
                         return map;
                     }
                 }));
@@ -39,21 +41,15 @@ public class Cn2SpellUtil {
     public static String converterToFirstSpell(String chines) {
         init();
         String pinyinName = "";
-        char[] nameChar = chines.toCharArray();
-        for (int i = 0; i < nameChar.length; i++) {
-            if (nameChar[i] > 128) {
-                try {
-                    String pinyinStr = Pinyin.toPinyin(String.valueOf(nameChar[i]), "");
-                    if (StringUtil.isNotBlank(pinyinStr)) {
-                        pinyinName += pinyinStr.charAt(0);
-                    } else {
-                        pinyinName += nameChar[i];
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
+        String pinyinRes = Pinyin.toPinyin(chines, "*××*");
+        if (StringUtil.isNotBlank(pinyinRes)){
+            String[] nameChar = pinyinRes.split("\\*××\\*");
+            for (int i = 0; i < nameChar.length; i++) {
+                if (StringUtil.isNotBlank(nameChar[i])) {
+                    pinyinName += nameChar[i].charAt(0);
+                } else {
+                    pinyinName += nameChar[i];
                 }
-            } else {
-                pinyinName += nameChar[i];
             }
         }
         return pinyinName;
@@ -88,26 +84,10 @@ public class Cn2SpellUtil {
     private static String converterToSpellByCaseType(String chines, Integer caseType) {
         init();
         String pinyinName = "";
-        char[] nameChar = chines.toCharArray();
-        for (int i = 0; i < nameChar.length; i++) {
-            if (nameChar[i] > 128) {
-                try {
-                    String pinyinStr = Pinyin.toPinyin(String.valueOf(nameChar[i]), "");
-                    if (StringUtil.isNotBlank(pinyinStr)) {
-                        if (caseType.equals(2)) {
-                            pinyinName += pinyinStr.toLowerCase();
-                        } else {
-                            pinyinName += pinyinStr;
-                        }
-                    } else {
-                        pinyinName += nameChar[i];
-                    }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            } else {
-                pinyinName += nameChar[i];
-            }
+        if (caseType.equals(2)) {
+            pinyinName = Pinyin.toPinyin(chines, "").toLowerCase();
+        } else {
+            pinyinName = Pinyin.toPinyin(chines, "");
         }
         return pinyinName;
     }
@@ -117,13 +97,16 @@ public class Cn2SpellUtil {
         System.out.println(converterToFirstSpell("欢迎来到Java世界"));
         System.out.println(converterToFirstSpell("11β-羟化酶缺陷症#11-羟化酶缺陷"));
         System.out.println(converterToFirstSpell("-"));
+        System.out.println(converterToFirstSpell("𬌗-𧿹"));
         System.out.println("================大写全拼================");
         System.out.println(converterToSpell("欢迎来到Java世界"));
         System.out.println(converterToSpell("11β-羟化酶缺陷症#11-羟化酶缺陷"));
         System.out.println(converterToSpell("-"));
+        System.out.println(converterToSpell("𬌗-𧿹"));
         System.out.println("================小写全拼================");
         System.out.println(converterToSpellLow("欢迎来到Java世界"));
         System.out.println(converterToSpellLow("11β-羟化酶缺陷症#11-羟化酶缺陷"));
         System.out.println(converterToSpellLow("-"));
+        System.out.println(converterToSpellLow("𬌗-𧿹"));
     }
 }