输入汉字,将汉字转换为拼音
pinyin4j 是一个流行的Java库,支持将中文字符转换为拼音,拼音输出格式可以自己设置,本篇我们就介绍如何将汉字转换成拼音。
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;/*** * @author Admin**/
public class JavaUtils{/*** 输入字符串,将字符串中的汉字转换成拼音,其余不变* @param pinYinStr* @return*/public static String getStringPinYin(String pinYinStr){//定义pinyin4j格式类HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();//设置转换格式为只讲汉字转换成拼音,不需要声调HanyuPinyinToneType.//HanyuPinyinCaseType里面有两个常量 //LOWERCASE输出为小写 //UPPERCASE输出为大写format.setCaseType(HanyuPinyinCaseType.LOWERCASE);//HanyuPinyinToneType里面有三个变量//WITH_TONE_MARK 吕不韦:lǚbùwéi 意我们标准拼音形式显示//WITH_TONE_NUMBER 吕不韦:lu:3bu4wei2 用数字的形式显示音调//WITHOUT_TONE 吕不韦:lu:buwei 不显示音调format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//WITH_U_UNICODE 显示ü//WITH_V 显示V//WITH_U_AND_COLON 显示u:format.setVCharType(HanyuPinyinVCharType.WITH_V);String[] pinyin = null;StringBuffer sb = new StringBuffer();String tempStr = null;//循环传入的字符串for(int i = 0; i<pinYinStr.length(); i++){try {//转换字符串中每一个字符pinyin = PinyinHelper.toHanyuPinyinStringArray(pinYinStr.charAt(i), format);} catch (BadHanyuPinyinOutputFormatCombination e){// TODO Auto-generated catch blocke.printStackTrace();}//如果为非汉字设置为nullif(pinyin == null){tempStr = null;}else{//多音字会返回一个多音字拼音的数组,我们取第一个tempStr = pinyin[0];}if(tempStr == null){//非汉字直接拼接sb.append(pinYinStr.charAt(i));}else{sb.append(tempStr);}}return sb.toString();}}
这样一个简单的汉语转拼音的功能就实现了。
//测试数据: String str = "你在做什么? What are you doing?";System.out.println(getStringPinYin(str));
//数据结果: nizaizuoshenme? What are you doing?
输入汉字,将汉字转换为拼音相关推荐
- JAVA实现汉字转换为拼音 pinyin4j/JPinyin
转载自 JAVA实现汉字转换为拼音 pinyin4j/JPinyin 在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个 ...
- php 将汉字转换成拼音,利用PHP怎么将汉字转换为拼音
利用PHP怎么将汉字转换为拼音 发布时间:2020-12-17 15:36:59 来源:亿速云 阅读:83 作者:Leah 这篇文章将为大家详细讲解有关利用PHP怎么将汉字转换为拼音,文章内容质量较高 ...
- Excel2007将汉字转换为拼音首字母
Excel2007将汉字转换为拼音首字母 一.打开Excel,按下"Alt+F11"组合键,弹出"Visual Basic编辑器" 二.点击"Visu ...
- java字符串转换为拼音_JAVA实现汉字转换为拼音 pinyin4j/JPinyin
在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个很好大的工程,还好网上有公开的第三方jar支持转换,结合网上很多前辈的代 ...
- [转]汉字转换为拼音
汉字转换为拼音 作者:蒋勇 http://www.kipway.com 转载请保留此行 在要求使用操作速度的行业软件中,比如药品批发运销系统.车站客票售票系统中,往往会使用药品名字或车站名字的拼音 ...
- 自己写的用Python将表格中的一列汉字转换为拼音(超详细解释)
因为工作需要将Excel中的人名转换为拼音,正好自己也在学习Python就写了一个小小的工具. 下面是代码: import pandas as pd import pypinyin #定义一个字符串用 ...
- C#实现将汉字转换为拼音
这篇文章仅微微涉及将汉字转换为拼音的实现方法,当然,能力有限,不能实现对声调的识别及显示! 页面设计 页面设计很简洁,一个输入框用来输入需要转换的文本,一个显示框用来展示转换后的文本. 代码实现部分 ...
- 程序实现汉字转换为拼音
做了一个讯飞语音识别的项目,API返回的识别结果是汉字格式.需要提取关键字与数据库中的数据进行匹配,为提高数据的识别率.考虑到需要将数据库中的文字和识别后的数据转换为拼音的形式进行匹配.但也没找到相关 ...
- java 汉字转换为拼音
需要引入pinyin4j , 没有文件上传,pinyin4j 上传不上来 import java.io.UnsupportedEncodingException; import net.source ...
最新文章
- Aliyun OSS Nginx proxy module(阿里云OSS Nginx 签名代理模块)
- [HEOI2016/TJOI2016]排序
- localStorage、sessionStorage用法总结
- tensorflow越跑越慢_tensorflow如何解决越运行越慢的问题
- 特征做得好,模型没烦恼
- 线程安全的三大不安全案例以及解决方法
- java_web学习(六) request对象中的get和post差异
- 西南科技大学OJ题 Delete Numbers 0700
- (二)网络传输协议:网络摄像机传输协议、流媒体传输协议
- ah、esp、gre协议_AH,ESP的协议号和它们支持的功能有何差异?两种模式下的差异是什么?...
- 女性三围的检测验证js-------格式 20,30,40
- 基于惯性轮倒立摆原理的自行车
- WebSphere管理控制台端口号如何查看
- 定义一个方法,使用随机的字母+数字生成一个6位数的密码
- excel从入门到忘记 学习心得分享(含百度网盘分享)
- vs code没有react提示以及html文件右键没有打开浏览器选项
- 笔的图片 html,笔的素描画图片
- 用php调用接口api
- html正则表达式验证字母,正则表达式校验字母和字符串组合
- 未来十年,互联网将如何颠覆17个传统行业
热门文章
- python对两个数组进行合并排列
- vivoy81Android,vivoy81s如何开启勿扰模式?
- Excel与minitab的不同
- day18_补充01(跟着宝哥学java:se) ++混合运算、内部类、设计模式、枚举、1.8新特性、正则表达式、
- 线下大数据服务商惟客数据完成3000万元pre-A轮融资,IDG资本领投
- Ubuntu和Windows文件互传
- 小米8android系统版本,小米8系列获得Android P稳定版推送
- 少儿编程与机器人编程区别
- 电子器件中电弧产生的原理及灭弧方法
- Office 2007 ppt 不能输入汉字问题 解决办法 很有效