From b96db512032a8a8889a28afb654cf360c63ad226 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 19 九月 2023 20:02:46 +0800 Subject: [PATCH] 修改 --- server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java | 83 +++++++++++++++++++++++------------------ 1 files changed, 47 insertions(+), 36 deletions(-) diff --git a/server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java b/server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java index a425696..73f665a 100644 --- a/server/service/src/main/java/com/doumee/core/utils/PinYinUtil.java +++ b/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; } } -- Gitblit v1.9.3