首页 >> 大全

5、汉字转换位汉语拼音首字母,英文字符不变

2023-07-21 大全 25 作者:考证青年

文章目录

我们经常会遇到一些场景,处理字符串、汉字字母等:

下面陈列出一些常用的方法,可以封装到自己的工具类中使用。

先看看测试效果:

1、正则表达式来判断字符串中是否包含字母

正则表达式来判断字符串中是否包含字母

   /*** 使用正则表达式来判断字符串中是否包含字母* @param str 待检验的字符串* @return 返回是否包含* true: 包含字母 ;false 不包含字母*/public static boolean judgeContainsStr(String str) {String regex=".*[a-zA-Z]+.*";Matcher m= Pattern.compile(regex).matcher(str);return m.matches();}

2、获得汉字首字母(通常用作通讯录检索)

获得汉字首字母(通常用作通讯录检索)

 public static String getAlpha(String chines) {String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {System.out.println(nameChar[i]);if (nameChar[i] > 128) {try {String[] ac = PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat);if(ac!=null&&ac.length>0){pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);}} catch (BadHanyuPinyinOutputFormatCombination e) {return "#";} catch (Exception e){return "#";}} else {if(judgeContainsStr(String.valueOf(nameChar[i]))){pinyinName += nameChar[i];}else{pinyinName += "#";}}}return pinyinName;}

3、获得汉语拼音首字母简称

获得汉语拼音首字母简称

public static String getAlphaDefaultCode(String chines) {String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {if (nameChar[i] > 128) {try {String[] ac = PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat);if(ac!=null&&ac.length>0){pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);}} catch (BadHanyuPinyinOutputFormatCombination e) {return "#";} catch (Exception e){return "#";}} else {if(judgeContainsStr(String.valueOf(nameChar[i]))){pinyinName += nameChar[i];}else{pinyinName += "#";}}}if(StringUtils.isBlank(pinyinName)){pinyinName = "#";}return pinyinName;
}

4、将字符串中的中文转化为拼音,英文字符不变

将字符串中的中文转化为拼音,英文字符不变

汉字转换拼音字母翻译器__汉字转换成英文字母

  /*** 将字符串中的中文转化为拼音,英文字符不变** @param inputString*            汉字* @return*/public static String getPingYin(String inputString) {inputString = cleanChar(inputString);HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);String output = "";if (inputString != null && inputString.length() > 0 && !"null".equals(inputString)) {char[] input = inputString.trim().toCharArray();try {for (int i = 0; i < input.length; i++) {if (Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);output += temp[0];} elseoutput += Character.toString(input[i]);}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {return "*";}return output;}

5、汉字转换位汉语拼音首字母,英文字符不变

汉字转换位汉语拼音首字母,英文字符不变

 /*** 汉字转换位汉语拼音首字母,英文字符不变** @param chines*            汉字* @return 拼音*/public static String converterToFirstSpell(String chines) {chines = cleanChar(chines);String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {if (nameChar[i] > 128) {try {pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pinyinName += nameChar[i];}}return pinyinName;}

6、清理特殊字符

清理特殊字符

    /*** 清理特殊字符* @param chines* @return*/public static String cleanChar(String chines) {chines = chines.replaceAll("[\\p{Punct}\\p{Space}]+", ""); // 正则去掉所有字符操作// 正则表达式去掉所有中文的特殊符号String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}<>《》【】‘;:”“’。,、?]";Pattern pattern = Pattern.compile(regEx);Matcher matcher = pattern.matcher(chines);chines = matcher.replaceAll("").trim();return chines;}

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了