需要引入的pom

<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</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;/*** @ProjectName: * @Package: * @ClassName: HanyupinyinUtil* @Description: 文字转拼音工具类* @Version: 1.0*/
public class HanyupinyinUtil {/*** 将文字转为汉语拼音,全拼(复兴路=>fuxinglu)** @param ChineseLanguage 要转换的文字* @return String*/public static String getPinyinString(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;}/*** 取每个汉字的第一个字符,大写(复兴路=>FXL)** @param ChineseLanguage 要转换的文字* @return String*/public static String getFirstLettersUp(String ChineseLanguage) {return getFirstLetters(ChineseLanguage, HanyuPinyinCaseType.UPPERCASE);}/*** 取每个汉字的第一个字符,小写(复兴路=>fxl)** @param ChineseLanguage 要转换的文字* @return String*/public static String getFirstLettersLo(String ChineseLanguage) {return getFirstLetters(ChineseLanguage, HanyuPinyinCaseType.LOWERCASE);}/*** 将文字转为汉语拼音首字母,大写或小写需要自己指定(用上面的就行了,这个就别用了)** @param ChineseLanguage 要转换的文字* @param caseType        UPPERCASE->大写,LOWERCASE->小写* @return String*/public static String getFirstLetters(String ChineseLanguage, HanyuPinyinCaseType caseType) {char[] cl_chars = ChineseLanguage.trim().toCharArray();String hanyupinyin = "";HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(caseType);// 输出拼音全部大写defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调hanyupinyin = getHanYuPinYinString(cl_chars, hanyupinyin, defaultFormat);return hanyupinyin;}/*** 取第一个汉字的第一个字符(复兴路=>F)** @param ChineseLanguage 要转换的文字* @return String*/public static String getFirstLetter(String ChineseLanguage) {char[] cl_chars = ChineseLanguage.trim().toCharArray();String hanyupinyin = "";HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 输出拼音全部大写defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调try {String str = String.valueOf(cl_chars[0]);if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母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]+")) {// 如果字符是字母,取字母hanyupinyin += cl_chars[0];} else {// 否则不转换}} catch (BadHanyuPinyinOutputFormatCombination e) {System.out.println("字符不能转成汉语拼音");}return hanyupinyin;}//获取汉语拼音private static String getHanYuPinYinString(char[] cl_chars, String hanyupinyin, HanyuPinyinOutputFormat defaultFormat) {try {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].substring(0, 1);} else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字hanyupinyin += cl_chars[i];} else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母hanyupinyin += cl_chars[i];} else {// 否则不转换hanyupinyin += cl_chars[i];//如果是标点符号的话,带着}}} catch (BadHanyuPinyinOutputFormatCombination e) {System.out.println("字符不能转成汉语拼音");}return hanyupinyin;}
}

Java 文字转拼音工具类相关推荐

  1. Java 中文转拼音工具类 (附带长度转换 2:1)

    Java 中文转拼音工具类 (附带长度转换 2:1) import com.google.common.collect.Lists; import com.google.common.collect. ...

  2. java汉字转拼音工具类源代码

    原文:java汉字转拼音工具类源代码 源代码下载地址:http://www.zuidaima.com/share/1550463387880448.htm 汉字转拼音 Pinyin pinyin = ...

  3. Java汉字转换拼音工具类

    1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...

  4. Java汉字转为拼音工具类

    依赖文件 <!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --><dependency><gr ...

  5. Java汉字转拼音工具类(支持首字母和全拼)

    工具类产生是因为个人业务需求需要根据中文汉字排序,而博主又对网上回答不满意,所以才根据相关资料写了该工具类,写入博客 以备不时之需.直接上代码: Java汉字转成汉语拼音工具类,需要用到pinyin4 ...

  6. java springboot 汉字拼音工具类

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutp ...

  7. Java汉字转汉语拼音工具类

    Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包,我使用的是Gradle项目,在build.gradle中引入依赖 // https://mvnrepository.com/arti ...

  8. 中文转换为拼音工具类(很全)

    中文转换为拼音工具类(很全) 1.所需的jar包 2.工具类(可以直接拿去用) 1.所需的jar包 <!--获取汉字的拼音--><dependency><groupId& ...

  9. java项目常用的工具类

    前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...

最新文章

  1. html重复标题,在HTML中重复表标题
  2. 不使用 Maven 等构建工具,而使用原始方法在 IntelliJ IDEA 中制作 JAR 包
  3. MYSQL查表的字段名称,字段类型,字段长度,字段注释的SQL语句
  4. 十三、Tomcat的WebSocket支持
  5. rabbitmq 传递文件_RabbitMQ:计划邮件传递
  6. java properties 保存_Java 读写Properties配置文件
  7. ASP.NET多线程编程(一) 收藏
  8. BlogEngine
  9. 【创建型】Prototype模式
  10. 重写对象的equals和hashCode方法
  11. Pr视频剪辑软件使用小结
  12. VMware虚拟机中安装win10操作系统
  13. 如何改变图片容量大小不影响清晰度
  14. 生成自己的浏览器证书
  15. 为什么成为一名程序员这么难?
  16. 树形数据结构和扁平数据相互转换
  17. 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——3 - How to Change Your Point of View(如何改变你的观点)
  18. 如何在CSS中应用多个转换?
  19. 搞懂Pandas数据合并,这一片就够了
  20. 分类又叫类目或者类别

热门文章

  1. express框架实现文件上传、下载及推送(使用Websocket)
  2. matlab直流输电,基于MATLAB/Simulink的高压直流输电系统的仿真研究
  3. iOS/iPadOS中Office中文字体显示不正确的解决方法
  4. 常微分方程的数值解-欧拉、四阶龙格-库塔法等C语言
  5. Mysql—索引③:优化篇(不仅仅是索引)
  6. Burpsuite的基本使用介绍
  7. VB集成无标题栏Form图片按钮Activex
  8. 怎么做才可以把电脑上的照片给做成视频?-markdown编辑器
  9. 支付宝支付报 invalid-app-id : 无效的AppID参数
  10. LiveNVR安防摄像头Web无插件直播平台页面的快速集成方法