From a2c792ee79e69224d71dc6204c6cc01f92b9384e Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期一, 23 八月 2021 16:14:46 +0800 Subject: [PATCH] [新增]整理代码规范 --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/HanyuPinyinHelper.java | 83 ++++++++++++++++++++--------------------- 1 files changed, 40 insertions(+), 43 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/HanyuPinyinHelper.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/HanyuPinyinHelper.java index 2582ecc..f1a422c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/HanyuPinyinHelper.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/HanyuPinyinHelper.java @@ -9,40 +9,15 @@ public class HanyuPinyinHelper { - /** - * 将文字转为汉语拼音 - * @param chineselanguage 要转成拼音的中文 - */ - public String toHanyuPinyin(String ChineseLanguage){ - char[] cl_chars = ChineseLanguage.trim().toCharArray(); - String hanyupinyin = ""; - HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); - defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 输出拼音全部小写 - defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调 - defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V) ; - try { - for (int i=0; i<cl_chars.length; i++){ - if (String.valueOf(cl_chars[i]).matches("[\u4e00-\u9fa5]+")){// 如果字符是中文,则将中文转为汉语拼音 - hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0]; - } else {// 如果字符不是中文,则不转换 - hanyupinyin += cl_chars[i]; - } - } - } catch (BadHanyuPinyinOutputFormatCombination e) { - System.out.println("字符不能转成汉语拼音"); - } - return hanyupinyin; + public static String getFirstLettersUp(String ChineseLanguage) { + return getFirstLetters(ChineseLanguage, HanyuPinyinCaseType.UPPERCASE); } - public static String getFirstLettersUp(String ChineseLanguage){ - return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.UPPERCASE); + public static String getFirstLettersLo(String ChineseLanguage) { + return getFirstLetters(ChineseLanguage, HanyuPinyinCaseType.LOWERCASE); } - public static String getFirstLettersLo(String ChineseLanguage){ - return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.LOWERCASE); - } - - public static String getFirstLetters(String ChineseLanguage,HanyuPinyinCaseType caseType) { + public static String getFirstLetters(String ChineseLanguage, HanyuPinyinCaseType caseType) { char[] cl_chars = ChineseLanguage.trim().toCharArray(); String hanyupinyin = ""; HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); @@ -58,7 +33,7 @@ } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母 hanyupinyin += cl_chars[i]; } else {// 否则不转换 - hanyupinyin += cl_chars[i];//如果是标点符号的话,带着 + hanyupinyin += cl_chars[i];// 如果是标点符号的话,带着 } } } catch (BadHanyuPinyinOutputFormatCombination e) { @@ -67,7 +42,7 @@ return hanyupinyin; } - public static String getPinyinString(String ChineseLanguage){ + public static String getPinyinString(String ChineseLanguage) { char[] cl_chars = ChineseLanguage.trim().toCharArray(); String hanyupinyin = ""; HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); @@ -77,8 +52,7 @@ for (int i = 0; i < cl_chars.length; i++) { String str = String.valueOf(cl_chars[i]); if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母 - hanyupinyin += PinyinHelper.toHanyuPinyinStringArray( - cl_chars[i], defaultFormat)[0]; + hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0]; } else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字 hanyupinyin += cl_chars[i]; } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母 @@ -92,14 +66,11 @@ } return hanyupinyin; } + /** - * 取第一个汉字的第一个字符 - * @Title: getFirstLetter - * @Description: - * @return String - * @throws + * 取第一个汉字的第一个字符 @Title: getFirstLetter @Description: @return String @throws */ - public static String getFirstLetter(String ChineseLanguage){ + public static String getFirstLetter(String ChineseLanguage) { char[] cl_chars = ChineseLanguage.trim().toCharArray(); String hanyupinyin = ""; HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); @@ -108,8 +79,7 @@ try { String str = String.valueOf(cl_chars[0]); if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母 - hanyupinyin = PinyinHelper.toHanyuPinyinStringArray( - cl_chars[0], defaultFormat)[0].substring(0, 1);; + hanyupinyin = PinyinHelper.toHanyuPinyinStringArray(cl_chars[0], defaultFormat)[0].substring(0, 1); } else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字 hanyupinyin += cl_chars[0]; } else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母 @@ -125,7 +95,34 @@ } public static void main(String[] args) { - HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper() ; + HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper(); System.out.println(hanyuPinyinHelper.toHanyuPinyin("多发的发独守空房阿道夫打发第三方")); } + + /** + * 将文字转为汉语拼音 + * + * @param chineselanguage + * 要转成拼音的中文 + */ + public String toHanyuPinyin(String ChineseLanguage) { + char[] cl_chars = ChineseLanguage.trim().toCharArray(); + String hanyupinyin = ""; + HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); + defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 输出拼音全部小写 + defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调 + defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V); + try { + for (int i = 0; i < cl_chars.length; i++) { + if (String.valueOf(cl_chars[i]).matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音 + hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0]; + } else {// 如果字符不是中文,则不转换 + hanyupinyin += cl_chars[i]; + } + } + } catch (BadHanyuPinyinOutputFormatCombination e) { + System.out.println("字符不能转成汉语拼音"); + } + return hanyupinyin; + } } \ No newline at end of file -- Gitblit v1.7.1