废话不多说了,其实就是为了实现将中文转换成拼音或者拼音首字母缩写。比如:强哥,转成:qiangge或者qg。网上都是两种写法,一种是自己写,一种是引用pinyin4j包,这里就不给自己写完的方式了,因为好像错误很多。而另一种pinyin4j包的方式,因为现在项目一般都是maven写的。这里找了一个可以用的pinyin4j包的maven依赖:

      <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency>

直接引入就可以用,然后工具类:

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;public class ChineseCharToEnUtil {/*** 将字符串中的中文转化为拼音,其他字符不变** @param inputString* @return*/public static String getPingYin(String inputString) {HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);char[] input = inputString.trim().toCharArray();String output = "";try {for (int i = 0; i < input.length; i++) {if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);output += temp[0];} elseoutput += java.lang.Character.toString(input[i]);}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return output;}/*** 获取汉字串拼音首字母,英文字符不变* @param chinese 汉字串* @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 && temp.length > 0){pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim();}/*** 获取汉字串拼音,英文字符不变* @param chinese 汉字串* @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();}} else {pybf.append(arr[i]);}}return pybf.toString();}}

就这样就能直接使用了。工具类转自:https://blog.csdn.net/qq_19707521/article/details/76055480

关注公众号获取更多内容,有问题也可在公众号提问哦:

强哥叨逼叨

叨逼叨编程、互联网的见解和新鲜事

java 获取中文拼音首字母(缩写) 含pinyin4j maven包相关推荐

  1. java 获取中文拼音首字母(缩写)

    第一种: 直接上代码(有个别中文无法识别): import java.io.UnsupportedEncodingException; /*** * @author yuki_ho**/ public ...

  2. java获取中文拼音首字母

    import net.sourceforge.pinyin4j.PinyinHelper;public class PinyinHelperUtil {/*** 得到中文首字母(中国 -> ZG ...

  3. java怎么获取中文首字母_Java如何获取中文拼音首字母的方法介绍

    下面小编就为大家带来一篇java获取中文拼音首字母的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 如下所示: import net.sourceforge.pin ...

  4. java 拼音首字母_java获取中文拼音首字母的实例

    导读热词 正文 如下所示: import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到 ...

  5. 自动获取中文拼音首字母方法-Asp.net

    调用方法:GetFirstAlphabet("中文拼音首字母方法!");     public string GetFirstAlphabet(string str)     // ...

  6. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

    实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高速查找页面内的 ...

  7. JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

    实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的 ...

  8. java获取汉字拼音首字母A

    public class GetChinessFirstSpell{ /// <summary> /// 汉字拼音首字母列表 本列表包含了20901个汉字,用于配合 GetChineseS ...

  9. Java 汉字转拼音首字母缩写

    以下代码不支持多音字,请慎重使用. eg:河南 ---> HN (如果需要小写,转一下就行了) package com.tc.sjcj.TC_Provider; import android.c ...

  10. python获取中文拼音首字母以进行检索

    最近在项目中有这个一个需求,就是要进行首字母查询,就是搜索"王菲",可以用"wf"来搜索. 搜索了一下,没有现在的python代码,倒有现成的php代码.修改一 ...

最新文章

  1. GO语言编程基础-复合类型结构体
  2. python项目归纳总结-python项目总结
  3. assign,copy,strong,weak,nonatomic的具体理解
  4. MATLAB应用实战系列(五十二)-Excel数据的读取
  5. 收集下阿里集团下的技术BLOG
  6. please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法
  7. 正则表达式 学习笔记2.2
  8. unity 草 可以一棵棵种吗?_5种多肉叶插成活率超高,养一棵成活一大片,种都没地方种...
  9. 约瑟夫环c语言代码顺序存储,约瑟夫环问题算法的C语言代码实现
  10. 还在为毕业答辩的 PPT 样式苦恼?有了这个哇塞的插件,做个 PPT 真的 So easy!
  11. 字符的ASCII码值
  12. 大数运算:Barrett And Montgomery
  13. 像素坐标转换实际坐标python_像素坐标转世界坐标的计算
  14. 十年老程序员开始新事业
  15. IDL的参数传递(五)
  16. 伦敦大学学院计算机专业申请条件,伦敦大学学院专业录取要求
  17. Taday——文件操纵(1)
  18. Java泛型类,方法使用,Java继承的歪解
  19. 密歇根大学python_密歇根理工大学建立自己的3D打印机课程
  20. 数理统计期末复习笔记(一)

热门文章

  1. IDEA2021 配置 SVN
  2. EOVA的下拉级联实现过程
  3. L2-011 玩转二叉树 (25分)
  4. 小米nfc模拟加密门禁卡详细图文教程(实测可用)----------------- IC ID CUID卡区别
  5. 文本相似度的方法对比
  6. python中的字体英文名,CSS 中文字体的英文名称
  7. Linux自学之旅-安装篇(一)
  8. fit me app Android,「最美应用」国庆专题:—这些习惯养成 App,让你离更好的自己更进一步!...
  9. Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam
  10. java编写猜数字游戏_java编写猜数字游戏