|
@@ -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("𬌗-𧿹"));
|
|
|
}
|
|
|
}
|