通过pinyin4j将汉字转换为拼音
pinyin4j提供了汉语转拼音的一个开源库, 支持多种拼音系统:汉语拼音、 通用拼音 、威氏拼音、注音二式、雅礼、
国语罗马字。
但是遗憾的是不支持多音字
首先下载jar包:http://pinyin4j.sourceforge.net/
package ceshiOA;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.exception.BadHanyuPinyinOutputFormatCombination;public class PingyinUtils {/** * 汉字转换为汉语拼音首字母,英文字符不变 * @param chines 汉字 * @return 拼音*/ public static String converterToFirstSpell(String chines){ String pinyinName = ""; //转化为字符char[] nameChar = chines.toCharArray();
// for(int i=0;i<nameChar.length;i++){
// System.out.println(nameChar[i]);
// }//汉语拼音格式输出类 HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();//输出设置,大小写,音标方式等 defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < nameChar.length; i++) { //如果是中文if (nameChar[i] > 128) {try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{//为英文字符 pinyinName += nameChar[i]; } } return pinyinName; } /** * 汉字转换位汉语拼音,英文字符不变 * @param chines 汉字 * @return 拼音 */ public static String converterToSpell(String chines){ String pinyinName = ""; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < nameChar.length; i++) { if (nameChar[i] > 128) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } public static void main(String[] args) { System.out.println(converterToFirstSpell("长城有限公司"));System.out.println(converterToSpell("汉语拼音").toLowerCase());}
}
输出:
zcyxgs //长是多音字,打成了zhang
hanyupinyin
通过pinyin4j将汉字转换为拼音相关推荐
- 基于struts2、spring、spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音
基于struts2.spring.spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音 1.引入坐标到pom.xml <!-- Excel解析工具类 -->& ...
- JAVA实现汉字转换为拼音 pinyin4j/JPinyin
转载自 JAVA实现汉字转换为拼音 pinyin4j/JPinyin 在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个 ...
- java字符串转换为拼音_JAVA实现汉字转换为拼音 pinyin4j/JPinyin
在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个很好大的工程,还好网上有公开的第三方jar支持转换,结合网上很多前辈的代 ...
- 探索PinYin4j.jar将汉字转换为拼音的基本用法
将汉字转换为拼音在Android开发中是个很常见的问题.例如:在android手机应用开发中,要查询联系人的姓名,通常都是用拼音进行查询的. Pinyin4j是一个功能强悍的汉语拼音工具包,是sour ...
- 使用pinyin4j将中文转换为拼音
2019独角兽企业重金招聘Python工程师标准>>> 1 安装pinyin4j 引入Maven依赖包 <!-- https://mvnrepository.com/artif ...
- java 汉字转换为拼音
需要引入pinyin4j , 没有文件上传,pinyin4j 上传不上来 import java.io.UnsupportedEncodingException; import net.source ...
- 汉字转换为拼音Java工具类
声明:本文是对https://www.cnblogs.com/DreamDrive/p/5762078.html的整理,感谢博主分享. 我就是爱音乐~ 准备工作:在pom.xml中引入依赖. < ...
- 使用pinyin4j解决中文转换为拼音的问题
博客第一篇日志啊,呵呵,那就记录一下我昨天在工作中遇到的汉字转换拼音的问题吧~~ 在工程中引入pinyin4j-2.5.0.jar,该jar包可以实现汉字转换为拼音,汉字转换为拼音首字母,以及得到字符 ...
- php 将汉字转换成拼音,利用PHP怎么将汉字转换为拼音
利用PHP怎么将汉字转换为拼音 发布时间:2020-12-17 15:36:59 来源:亿速云 阅读:83 作者:Leah 这篇文章将为大家详细讲解有关利用PHP怎么将汉字转换为拼音,文章内容质量较高 ...
最新文章
- 谷歌开源文本生成新方法 LaserTagger,直击 seq2seq 效率低、推理慢、控制差三大缺陷!
- WPF 之 线程使用
- 活动结束|金融圈第19期分享:数据系统如何防范金融非统性风险?
- Android学习笔记系列四2 —— Activity的生命周期
- android 根据时间获取周几_android 调用系统 calendars 如何获取一个指定日期的所有日程 event。...
- javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第2部分
- python脚本编程手册_Python 入门指南 — Python2.7 手册 2.7 documentation - 脚本之家在线手册...
- 怎么将.POF文件下载到开发板[转载]
- 60佳优秀的国外电子商务网站设计案例(上篇)
- SOME/IP报文格式-Request ID
- 猿创征文|Python学习工具千千万,我心中的TOP10
- Beyong Compare使用
- 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)
- xlrd读取多个sheets
- 【视频学习】VALSE短教程《因果发现与因果性学习》 蔡瑞初教授
- 2018双一流排名 计算机,哪些双一流学科进入软科“2018中国最好学科排名”
- Golang 获取今天和昨天零点的时间
- BaiduOCR实现身份证,银行卡,机动车牌,图像审核等识别
- 【Maven】Archetype
- day1学习vue2笔记 vue指令
热门文章
- Asterisk 电话系统的音频文件
- MoveIt!入门教程 - 创客智造
- teradata笔记-strtok_split_to_table
- 【Linux】U盘安装Ubuntu 18.04之启动盘制作工具选择
- 网络、网络间的数据传输、
- 25K 月薪的 SQL Server DBA 面试一题
- 如何用photoshop更改一张动态图片上的文字
- SQL Server 2008存储结构----不胜人生一场醉
- 基恩士KV8000系列PLC,控制松下总线伺服和山社总线步进电机,全套图纸,DWG格式,一整套图纸发给你
- C#与三菱,西门子,台达,基恩士,等各品牌plc通讯源码