java 获取中文拼音首字母(缩写) 含pinyin4j maven包
废话不多说了,其实就是为了实现将中文转换成拼音或者拼音首字母缩写。比如:强哥,转成: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包相关推荐
- java 获取中文拼音首字母(缩写)
第一种: 直接上代码(有个别中文无法识别): import java.io.UnsupportedEncodingException; /*** * @author yuki_ho**/ public ...
- java获取中文拼音首字母
import net.sourceforge.pinyin4j.PinyinHelper;public class PinyinHelperUtil {/*** 得到中文首字母(中国 -> ZG ...
- java怎么获取中文首字母_Java如何获取中文拼音首字母的方法介绍
下面小编就为大家带来一篇java获取中文拼音首字母的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 如下所示: import net.sourceforge.pin ...
- java 拼音首字母_java获取中文拼音首字母的实例
导读热词 正文 如下所示: import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到 ...
- 自动获取中文拼音首字母方法-Asp.net
调用方法:GetFirstAlphabet("中文拼音首字母方法!"); public string GetFirstAlphabet(string str) // ...
- JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容
实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高速查找页面内的 ...
- JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容
实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的 ...
- java获取汉字拼音首字母A
public class GetChinessFirstSpell{ /// <summary> /// 汉字拼音首字母列表 本列表包含了20901个汉字,用于配合 GetChineseS ...
- Java 汉字转拼音首字母缩写
以下代码不支持多音字,请慎重使用. eg:河南 ---> HN (如果需要小写,转一下就行了) package com.tc.sjcj.TC_Provider; import android.c ...
- python获取中文拼音首字母以进行检索
最近在项目中有这个一个需求,就是要进行首字母查询,就是搜索"王菲",可以用"wf"来搜索. 搜索了一下,没有现在的python代码,倒有现成的php代码.修改一 ...
最新文章
- GO语言编程基础-复合类型结构体
- python项目归纳总结-python项目总结
- assign,copy,strong,weak,nonatomic的具体理解
- MATLAB应用实战系列(五十二)-Excel数据的读取
- 收集下阿里集团下的技术BLOG
- please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法
- 正则表达式 学习笔记2.2
- unity 草 可以一棵棵种吗?_5种多肉叶插成活率超高,养一棵成活一大片,种都没地方种...
- 约瑟夫环c语言代码顺序存储,约瑟夫环问题算法的C语言代码实现
- 还在为毕业答辩的 PPT 样式苦恼?有了这个哇塞的插件,做个 PPT 真的 So easy!
- 字符的ASCII码值
- 大数运算:Barrett And Montgomery
- 像素坐标转换实际坐标python_像素坐标转世界坐标的计算
- 十年老程序员开始新事业
- IDL的参数传递(五)
- 伦敦大学学院计算机专业申请条件,伦敦大学学院专业录取要求
- Taday——文件操纵(1)
- Java泛型类,方法使用,Java继承的歪解
- 密歇根大学python_密歇根理工大学建立自己的3D打印机课程
- 数理统计期末复习笔记(一)
热门文章
- IDEA2021 配置 SVN
- EOVA的下拉级联实现过程
- L2-011 玩转二叉树 (25分)
- 小米nfc模拟加密门禁卡详细图文教程(实测可用)----------------- IC ID CUID卡区别
- 文本相似度的方法对比
- python中的字体英文名,CSS 中文字体的英文名称
- Linux自学之旅-安装篇(一)
- fit me app Android,「最美应用」国庆专题:—这些习惯养成 App,让你离更好的自己更进一步!...
- Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam
- java编写猜数字游戏_java编写猜数字游戏