From d6f2a3d6c68cc2626b3a1baef7383e66a0f7a58e Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期二, 01 十一月 2022 13:36:24 +0800
Subject: [PATCH] Merge branch 'local_20221024' into huacheng_test
---
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 6e191d5..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: TODO
- * @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