Java汉字转拼音(简繁体转换)库之JPinYin
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相关推荐
- gbk编码在线转换工具_TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具
本文要推荐的[TOOLFK]在线汉字/字母/人民币/简繁体转换工具,提供简繁体在线转换.人民币大写转换.字母大小写互转.汉字转拼音在线日常使用工具. 網站名稱:ToolFk 網站鏈結:https:// ...
- TOOLFK工具-在线汉字/字母/人民币/简繁体转换工具
本文要推荐的[TOOLFK]在线汉字/字母/人民币/简繁体转换工具,提供简繁体在线转换.人民币大写转换.字母大小写互转.汉字转拼音在线日常使用工具. 網站名稱:ToolFk 網站鏈結:https:// ...
- 获取汉字的拼音, 或者简繁体转换
安装方法 命令行下, 执行 composer 命令安装: composer require fengqi/hanzi 使用示例 use fengqi\Hanzi\Hanzi;$chs = '中国人'; ...
- java汉字转拼音(全拼、简拼)
java汉字转拼音(全拼.简拼) <dependency><groupId>com.belerweb</groupId><artifactId>piny ...
- Java简繁体转换分享
HanLP: Han Language Processing https://github.com/hankcs/HanLP/tree/1.x#18-简繁转换 opencc4j(Opencc4j 支持 ...
- 2013.08.08——— android 中文简繁体转换
2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...
- NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音简繁转换→情感分析→测试)
NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音&简繁转换→情感分析→测试) 目录 NLP分词 NLP词性标注 NLP情感分析-TEA NLP常 ...
- 【C#】简繁体转换类
最近有用户说要把古诗词做成繁体的,搜寻了一下,发现网上关于简繁体转换的类基本都是基于TraditionalChineseToSimplifiedConverter和Microsoft Visual B ...
- java汉字转拼音工具类源代码
原文:java汉字转拼音工具类源代码 源代码下载地址:http://www.zuidaima.com/share/1550463387880448.htm 汉字转拼音 Pinyin pinyin = ...
- Office 2007中的简繁体转换功能
Word 2007默认就有简繁体转换功能 Excel 2007默认没有开启,可以通过下面的方式打开 选择"COM加载项",然后点击"转到".在下图中确保选中了& ...
最新文章
- 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...
- Restful API 设计规范实战
- Mistakes(Updating)
- [C++]const 总结
- EXCEL中显示年月日时分秒
- js操作完的数值赋回html元素,JS的学习
- PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
- 在 Java 中初始化 List 的五种方法
- 【转】日邮物流:实现智慧物流,这个云上对了!
- dataframe合并两个表_Pandas 数据处理 | 怎么对多个数据表合并,你了解么?
- 关于百度地图API的地图坐标转换问题
- 全面升级,淘宝/天猫api接口大全
- Scratch之猫和老鼠
- office 365与Visio共存
- 微信小程序中英文切换
- 颜色是如何混合出来的
- 【目标检测】《DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection》论文阅读笔记
- 计算2个GPS坐标的距离
- 物质模拟器(游戏)1.0版本
- /usr/bin/ld: 找不到 -lgcc_s怎么办?
热门文章
- 午夜分享女人的绝对隐私
- 395. Longest Substring with At Least K Repeating Characters 1
- 【开源编码分享】Python古三式∶太乙神数丶奇门遁甲丶大六壬
- python学习基础知识——1
- github配置SSH keys
- python控制苹果手机触摸屏失灵怎么办_苹果6sp屏幕失灵怎么办 这些解决方法绝对最易学...
- wps2019数据分析加载项_wpsexcel数据分析工具在哪里
- NetCore游戏服务器GeekServer
- 中国大学慕课浙江大学【C语言课程】-翁恺教授第4周编程练习数字特征值(5分)
- 意法半导体终于拥抱Cortex-A架构发布STM32MP1 MPU