直奔主题!

首先导入pinyin4j的依赖

        <dependency><groupId>org.clojars.cbilson</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</version></dependency>

然后是代码,复制粘贴进项目即可直接使用!

package com.sixmac.utils;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 HanyuPinyinHelper {/*** MaNongXF* 将文字转为汉语拼音* @param Chineselanguage 要转成拼音的中文*/public String toHanyuPinyin(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;}public static String getFirstLettersUp(String ChineseLanguage){return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.UPPERCASE);}public static String getFirstLettersLo(String ChineseLanguage){return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.LOWERCASE);}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);// 不带声调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;}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);// 不带声调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];} else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字hanyupinyin += cl_chars[i];} else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母hanyupinyin += cl_chars[i];} else {// 否则不转换}}} catch (BadHanyuPinyinOutputFormatCombination e) {System.out.println("字符不能转成汉语拼音");}return hanyupinyin;}/*** 取第一个汉字的第一个字符* @Title: getFirstLetter* @Description: TODO* @return String* @throws*/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;}public static void main(String[] args) {HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper() ;System.out.println(hanyuPinyinHelper.toHanyuPinyin("测试测试"));}//打印结果:ceshiceshi
}

Java——将汉字转为汉语拼音工具类相关推荐

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

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

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

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

  3. java 汉字转拼音原理_Java汉字转成汉语拼音工具类

    Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包. import net.sourceforge.pinyin4j.PinyinHelper; import net.sourcefo ...

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

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

  5. java 拼音 jar_Java实现的汉语拼音工具类完整实例

    本文实例讲述了Java实现的汉语拼音工具类.分享给大家供大家参考,具体如下: package test; import net.sourceforge.pinyin4j.PinyinHelper; i ...

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

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

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

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

  8. java 项目中常用的工具类总结

    1.文件 1.根据图片的链接,下载图片 package com.lingxu.module.BigDataJoinMessage.util;import java.io.FileOutputStrea ...

  9. (转)JAVA 十六个常用工具类

    (转)JAVA 十六个常用工具类 一. org.apache.commons.io.IOUtils closeQuietly 关闭一个IO流.socket.或者selector且不抛出异常.通常放在f ...

最新文章

  1. .net core webapi 通过swagger生成说明文档
  2. c# 扩展方法奇思妙用变态篇四:string 的翻身革命
  3. 【看番杂感】Clannad系列观后感(剧透慎入)
  4. sql 大数据量插入优化
  5. 如何用各种编程语言杀死一条龙
  6. html文件转换成dwt文件,如何把dwt页面转换成html页面
  7. 我的SWT与数字图像处理总结(3)—SWT如何得到图像某个位置的像素值和相应的RGB的值...
  8. 在 Flink 算子中使用多线程如何保证不丢数据?
  9. aix系统服务器日志外发,AIX系统日志
  10. 从官方例程深度学习海思SDK及API(2)
  11. Filter过滤器:使用过滤器保护指定资源,只有登录用户才能访问。若访问内容时用户没有登录则跳转到登录页面。
  12. GRUB和LILO的区别
  13. JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@xxx] will not be managed by Spring
  14. PgMP: Program Management Professional Exam Study Guide
  15. R语言回归分析-回归诊断
  16. 最近邻插值(nearest neighbor)-----python
  17. 【LeetCode】999. 车的可用捕获量
  18. 职业进阶,职业规划与计划(3年,5年,10年计划等),个人(中年)危机
  19. js按钮确认删除提示
  20. 回归分析结果表格怎么填_spss回归分析结果图,帮忙看一下,麻烦详细地解释解释...

热门文章

  1. 中债登——各功能快捷入口
  2. iOS安全攻防(二十):越狱检测的攻与防
  3. java为PDF盖(签)电子签章--位置定位
  4. C++求最大与最小值
  5. 计算机网络统考outlook操作视频,网络教育计算机统考Outlook
  6. 文件输出流,文件拷贝,资源释放
  7. 负载均衡一致性哈希算法实现 | nginx 负载均衡一致性哈希源码分析 | ngx_http_upstream_consistent_hash_module 源码分析
  8. TDM和TDMA的经典简述
  9. 栈的初始化,入栈和出栈
  10. 机械制造作业考研题目答案分享——金属切削规律3