Maven依赖

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

拼音工具类

import lombok.extern.slf4j.Slf4j;
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;/*** @author Lynn* @date 2020/6/29 */
@Slf4j
public class PinYinUtil {/*** 将字符串中的中文转化为拼音,其他字符不变** @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) {log.error("中文转拼音出错",e);}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) {pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim();}
}

案例

@Testpublic void test(){//中文英文做比较String string = "美的";String string2 = "history";//打印全拼String pingYin = PinYinUtil.getPingYin(string);System.out.println(pingYin);String pingYin2 = PinYinUtil.getPingYin(string2);System.out.println(pingYin2);//打印首字母String firstSpells = PinYinUtil.getFirstSpell(string);char firstSpell = firstSpells.charAt(0);System.out.println(firstSpell);String firstSpells2 = PinYinUtil.getFirstSpell(string2);char firstSpell2 = firstSpells2.charAt(0);System.out.println(firstSpell2);}

将中文字符串转为拼音相关推荐

  1. JAVA 中文字符转为拼音字符串

    项目上偶尔要用到关于中文字符串转换为拼音字符串的功能,pinyin4j.jar这个包可以提供相关的功能,非常方便,首先要在maven中pom.xml添加依赖项,如果不用maven,那直接下载对应的ja ...

  2. PHP将中文字符转为拼音/首字母大写/或其他连接符

    PHP将中文字符转为拼音/首字母大写/或其他连接符 项目中遇到需要将客户的姓名转为首拼并且大写的要求, 提出解决办法 首先建立一个汉字转拼音的类 class PinYin {private $pyli ...

  3. 将MySQL中的中文姓名转为拼音

    一.首先设计好数据库表对应的实体类: Paper类: public class Paper {private String name; //论文题目private String firstAuthor ...

  4. python 拼音姓名排序_Python一秒将全部中文姓名转为拼音!

    有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例! 一.xpinyin 开门见山,Python中文字转拼音可 ...

  5. python读取excel汉字转成拼音_Python语言之用Python将全部中文姓名转为拼音

    本文将介绍三种用Python将中文姓名转换为拼音的方法,Python的实用技巧希望对Python的学习有所帮助. 有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三 ...

  6. python拼音名_实用小技巧,Python一秒将全部中文姓名转为拼音!

    有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例!一.xpinyin 开门见山,Python中文字转拼音可以 ...

  7. VB.net中文字符串转拼音

    从NuGet上发现一个很好用的包可以实现该效果 这个包可以直接把单个汉子转换成拼音字符串,于是自己写了个函数实现对整个字符串的拼音转换 ''' <summary>''' 字符串转拼音''' ...

  8. python 拼音姓名排序_实用小技巧,Python一秒将全部中文姓名转为拼音!

    有时在处理文件时候,我们需要将中文姓名转换为拼音,或者是转换为拼音首字母,本文将介绍三种Python实现的方法,最后给一个批量操作的代码案例! 一.xpinyin 开门见山,Python中文字转拼音可 ...

  9. 匹配中文字符串的拼音首字母或英文字符串的首字母缩写

    原始需求: 有联系人名字为'张三'.'张三丰',搜索'ZS'可以通过系统提供的Contacts.CONTENT_FILTER_URI搜索到.但是匹配字符串高亮时,无法智能将'张三'高亮. 细化需求 需 ...

最新文章

  1. 数据结构之跳表Skiplist
  2. 闲谈嵌入式的复杂性2
  3. 两个input在一行让它们能对齐
  4. 使用PCA对特征数据进行降维
  5. Deep Learning论文笔记之(八)Deep Learning最新综述
  6. dfs——练习demo3(20届周新杰提供)
  7. 大哥你需求里说只要工作流引擎组件,怎么真正需要的东西这么.悲剧了,客户需求无止境...
  8. ArcGIS Server 9.3 beta 体验三 -- 简阅 ADF 框架
  9. Matlab rand randn randint
  10. vscode代码对比功能
  11. 计算机等级考试一级wps office 教程,全国计算机等级考试一级WPSOffice教程
  12. opencv摄像头常用操作
  13. 面试官揭秘世界500强面试题
  14. 使用Simple Allow Copy插件在网页内复制文字
  15. UCOSIII总结------消息队列(6)
  16. 分门别类刷leetcode——动态规划(C++实现)
  17. linux 查看nas盘信息,实战 Windows 下读取 NAS 盘数据
  18. ElasticSearch常用插件整理
  19. 数据结构当中的二元组详解
  20. 【文献管理软件Zotero】Zotfile插件及云同步的使用技巧

热门文章

  1. android 水滴动画效果图,Android控件实现水滴效果
  2. Ubuntu 18.04 U盘启动安装教程【图文教程,非常详细!!!!】
  3. 2021-C++程序设计-实验3-继承和虚函数
  4. linux沙箱隔离_360隔离沙箱在WINDOWS 10 的WSL下的沙箱逃逸
  5. oppor11st升Android p,OPPO R11st刷机教程_OPPO R11st卡刷升级更新官方系统包
  6. 【零成本 超详细】使用Win10自带的Hyper-V管理工具搭建虚拟机
  7. 安卓直接展示html,Android textView展示html图片,实现图文混排,点击查看大图片
  8. 嵌入式Linux使用TFT屏幕:使用树莓派4B的MIPI-DSI接口点亮ST7701S屏幕
  9. 俞敏洪在清华终于说实话了·····
  10. vue里使用echarts画世界地图