JPinyin下载地址https://mvnrepository.com/artifact/com.github.stuxuhai/jpinyin

JPinyin是一个开源的汉字转拼音库,它是在PinYin4j的基础上做了改进,支持汉字转拼音、获取汉字拼音首字母、简体繁体相互转换、多音字、词典扩展等;

最新版本

<!-- https://mvnrepository.com/artifact/com.github.stuxuhai/jpinyin -->
<dependency><groupId>com.github.stuxuhai</groupId><artifactId>jpinyin</artifactId><version>1.1.8</version>
</dependency>

自己封装了个工具类,具体使用方法注解上有说明:

package com.yaomy.control.common.control.utils;import com.github.stuxuhai.jpinyin.ChineseHelper;
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;
import com.yaomy.control.logback.utils.LoggerUtil;
import org.apache.commons.lang3.StringUtils;/*** @Description: 汉字转拼音* @Version: 1.0*/
public class PinYinUtils {/*** 转换为每个汉字对应拼音首字母字符串* @param pinYinStr 需转换的汉字* @return 拼音字符串*/public static String getPinYinPrefix(String pinYinStr){return getPinYinPrefix(pinYinStr, false);}/*** 转换为每个汉字对应拼音首字母字符串* @param pinYinStr 需转换的汉字* @param uppercase true 大写,false 默认* @return 拼音字符串*/public static String getPinYinPrefix(String pinYinStr, boolean uppercase){if(StringUtils.isEmpty(pinYinStr)){return pinYinStr;}try{String tempStr = PinyinHelper.getShortPinyin(pinYinStr);if(uppercase){return StringUtils.upperCase(tempStr);} else {return tempStr;}} catch (Exception e){e.printStackTrace();LoggerUtil.error(PinYinUtils.class, "汉字转拼音首字母异常:"+e.toString());return pinYinStr;}}/*** 获取汉字全品音* @param pinYinStr 要转换的字符串* @return 汉语拼音*/public static String getPinYin(String pinYinStr){return getPinYin(pinYinStr, StringUtils.EMPTY, PinyinFormat.WITHOUT_TONE, false);}/*** 获取汉字全品音* @param pinYinStr 要转换的字符串* @param uppercase true 大写,false 默认* @return 汉语拼音*/public static String getPinYin(String pinYinStr, boolean uppercase){return getPinYin(pinYinStr, StringUtils.EMPTY, PinyinFormat.WITHOUT_TONE, uppercase);}/*** 获取汉字全品音* @param pinYinStr 要转换的字符串* @param separator 分隔符* @param uppercase true 大写,false 默认* @return 汉语拼音*/public static String getPinYin(String pinYinStr, String separator, boolean uppercase){return getPinYin(pinYinStr, separator, PinyinFormat.WITHOUT_TONE, uppercase);}/*** 获取汉字全品音* @param pinYinStr 要转换的字符串* @param separator 分隔符* @param pinyinFormat 拼音格式 WITH_TONE_MARK(带声调),WITHOUT_TONE(不带声调) WITH_TONE_NUMBER(带声调数字)* @param uppercase true 大写,false 默认* @return 汉语拼音*/public static String getPinYin(String pinYinStr, String separator, PinyinFormat pinyinFormat, boolean uppercase){if(StringUtils.isEmpty(pinYinStr)){return pinYinStr;}try{String tempStr = PinyinHelper.convertToPinyinString(pinYinStr, separator, pinyinFormat);if(uppercase){return StringUtils.upperCase(tempStr);} else {return tempStr;}} catch (Exception e){e.printStackTrace();LoggerUtil.error(PinYinUtils.class, "汉字转拼音首字母异常:"+e.toString());return pinYinStr;}}/*** 判断一个汉字是否为多音字* @param c 汉字* @return 判断结果,是汉字返回true,否则返回false*/public static boolean hasMultiPinyin(char c){return PinyinHelper.hasMultiPinyin(c);}/*** 将单个汉字转换成带声调格式的拼音* @param c 需要转换成拼音的汉字* @return 字符串的拼音*/public static String[] convertToPinyinArray(char c){return PinyinHelper.convertToPinyinArray(c);}/*** 将单个汉字转换为相应格式的拼音* @param c 需要转换成拼音的汉字* @param pinyinFormat 拼音格式:WITH_TONE_NUMBER--数字代表声调,WITHOUT_TONE--不带声调,WITH_TONE_MARK--带声调* @return 汉字的拼音*/public static String[] convertToPinyinArray(char c, PinyinFormat pinyinFormat){return PinyinHelper.convertToPinyinArray(c, pinyinFormat);}/*** 繁体字转为简体字* @param wordStr 字符串* @return 转换后的简体字符串*/public static String convertToSimplifiedChinese(String wordStr){if(StringUtils.isEmpty(wordStr)){return wordStr;}return ChineseHelper.convertToSimplifiedChinese(wordStr);}/*** 简体字转换为繁体字* @param wordStr 字符串* @return 转换后的简体字符串*/public static String convertToTraditionalChinese(String wordStr){if(StringUtils.isEmpty(wordStr)){return wordStr;}return ChineseHelper.convertToTraditionalChinese(wordStr);}/*** 判断word是否为简体中文* @param word* @return true 是,false 否*/public static boolean isChinese(char word){return ChineseHelper.isChinese(word);}/*** 判断word是否为繁体字* @param word 字符* @return true 是,false 否*/public static boolean isTraditionalChinese(char word){return ChineseHelper.isTraditionalChinese(word);}/*** 判断字符串是否包含中文* @param wordStr 要判断的字符串* @return true 包含,false 不包含*/public static boolean containsChinese(String wordStr){if(StringUtils.isEmpty(wordStr)){return false;}return ChineseHelper.containsChinese(wordStr);}
}

GitHub地址:https://github.com/mingyang66/spring-parent/blob/master/spring-boot-control-common-service/pinyin.md

Java汉字转拼音(简繁体转换)库之JPinYin相关推荐

  1. gbk编码在线转换工具_TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具

    本文要推荐的[TOOLFK]在线汉字/字母/人民币/简繁体转换工具,提供简繁体在线转换.人民币大写转换.字母大小写互转.汉字转拼音在线日常使用工具. 網站名稱:ToolFk 網站鏈結:https:// ...

  2. TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具

    本文要推荐的[TOOLFK]在线汉字/字母/人民币/简繁体转换工具,提供简繁体在线转换.人民币大写转换.字母大小写互转.汉字转拼音在线日常使用工具. 網站名稱:ToolFk 網站鏈結:https:// ...

  3. 获取汉字的拼音, 或者简繁体转换

    安装方法 命令行下, 执行 composer 命令安装: composer require fengqi/hanzi 使用示例 use fengqi\Hanzi\Hanzi;$chs = '中国人'; ...

  4. java汉字转拼音(全拼、简拼)

    java汉字转拼音(全拼.简拼) <dependency><groupId>com.belerweb</groupId><artifactId>piny ...

  5. Java简繁体转换分享

    HanLP: Han Language Processing https://github.com/hankcs/HanLP/tree/1.x#18-简繁转换 opencc4j(Opencc4j 支持 ...

  6. 2013.08.08——— android 中文简繁体转换

    2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...

  7. NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音简繁转换→情感分析→测试)

    NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音&简繁转换→情感分析→测试) 目录 NLP分词 NLP词性标注 NLP情感分析-TEA NLP常 ...

  8. 【C#】简繁体转换类

    最近有用户说要把古诗词做成繁体的,搜寻了一下,发现网上关于简繁体转换的类基本都是基于TraditionalChineseToSimplifiedConverter和Microsoft Visual B ...

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

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

  10. Office 2007中的简繁体转换功能

    Word 2007默认就有简繁体转换功能 Excel 2007默认没有开启,可以通过下面的方式打开 选择"COM加载项",然后点击"转到".在下图中确保选中了& ...

最新文章

  1. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...
  2. Restful API 设计规范实战
  3. Mistakes(Updating)
  4. [C++]const 总结
  5. EXCEL中显示年月日时分秒
  6. js操作完的数值赋回html元素,JS的学习
  7. PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
  8. 在 Java 中初始化 List 的五种方法
  9. 【转】日邮物流:实现智慧物流,这个云上对了!
  10. dataframe合并两个表_Pandas 数据处理 | 怎么对多个数据表合并,你了解么?
  11. 关于百度地图API的地图坐标转换问题
  12. 全面升级,淘宝/天猫api接口大全
  13. Scratch之猫和老鼠
  14. office 365与Visio共存
  15. 微信小程序中英文切换
  16. 颜色是如何混合出来的
  17. 【目标检测】《DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection》论文阅读笔记
  18. 计算2个GPS坐标的距离
  19. 物质模拟器(游戏)1.0版本
  20. /usr/bin/ld: 找不到 -lgcc_s怎么办?

热门文章

  1. 午夜分享女人的绝对隐私
  2. 395. Longest Substring with At Least K Repeating Characters 1
  3. 【开源编码分享】Python古三式∶太乙神数丶奇门遁甲丶大六壬
  4. python学习基础知识——1
  5. github配置SSH keys
  6. python控制苹果手机触摸屏失灵怎么办_苹果6sp屏幕失灵怎么办 这些解决方法绝对最易学...
  7. wps2019数据分析加载项_wpsexcel数据分析工具在哪里
  8. NetCore游戏服务器GeekServer
  9. 中国大学慕课浙江大学【C语言课程】-翁恺教授第4周编程练习数字特征值(5分)
  10. 意法半导体终于拥抱Cortex-A架构发布STM32MP1 MPU