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?

输入汉字,将汉字转换为拼音相关推荐

  1. JAVA实现汉字转换为拼音 pinyin4j/JPinyin

    转载自  JAVA实现汉字转换为拼音 pinyin4j/JPinyin 在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个 ...

  2. php 将汉字转换成拼音,利用PHP怎么将汉字转换为拼音

    利用PHP怎么将汉字转换为拼音 发布时间:2020-12-17 15:36:59 来源:亿速云 阅读:83 作者:Leah 这篇文章将为大家详细讲解有关利用PHP怎么将汉字转换为拼音,文章内容质量较高 ...

  3. Excel2007将汉字转换为拼音首字母

    Excel2007将汉字转换为拼音首字母 一.打开Excel,按下"Alt+F11"组合键,弹出"Visual Basic编辑器" 二.点击"Visu ...

  4. java字符串转换为拼音_JAVA实现汉字转换为拼音 pinyin4j/JPinyin

    在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个很好大的工程,还好网上有公开的第三方jar支持转换,结合网上很多前辈的代 ...

  5. [转]汉字转换为拼音

      汉字转换为拼音 作者:蒋勇 http://www.kipway.com 转载请保留此行 在要求使用操作速度的行业软件中,比如药品批发运销系统.车站客票售票系统中,往往会使用药品名字或车站名字的拼音 ...

  6. 自己写的用Python将表格中的一列汉字转换为拼音(超详细解释)

    因为工作需要将Excel中的人名转换为拼音,正好自己也在学习Python就写了一个小小的工具. 下面是代码: import pandas as pd import pypinyin #定义一个字符串用 ...

  7. C#实现将汉字转换为拼音

    这篇文章仅微微涉及将汉字转换为拼音的实现方法,当然,能力有限,不能实现对声调的识别及显示! 页面设计 页面设计很简洁,一个输入框用来输入需要转换的文本,一个显示框用来展示转换后的文本. 代码实现部分 ...

  8. 程序实现汉字转换为拼音

    做了一个讯飞语音识别的项目,API返回的识别结果是汉字格式.需要提取关键字与数据库中的数据进行匹配,为提高数据的识别率.考虑到需要将数据库中的文字和识别后的数据转换为拼音的形式进行匹配.但也没找到相关 ...

  9. java 汉字转换为拼音

    需要引入pinyin4j  , 没有文件上传,pinyin4j 上传不上来 import java.io.UnsupportedEncodingException; import net.source ...

最新文章

  1. 【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )
  2. 【OpenCV3】cv::Mat块访问与操作(ROI区域的选取)
  3. Open Source Bing Maps API for ASP.NET MVC
  4. windows10自动填充密码开机自动登陆
  5. CodeForces - 197A Plate Game(博弈+思维)
  6. LeetCode:Minimum Path Sum(网格最大路径和)
  7. 单片机上运行linux程序代码,在Linux下烧录51单片机
  8. 前端现在到底需要什么样的人才
  9. 西部数码虚拟服务器备案,虚拟主机备案才能使用吗
  10. mysql workbench查询快捷_mysql workbench快捷键
  11. Hadoop,Hbase伪集群安装步骤
  12. true是不是python保留字_Python基本语法--关键字和保留字篇
  13. 【精心挑选】推荐几款非常棒的 jQuery 全景图片展示插件
  14. vijos1041——神风堂人数
  15. 如何使用QXDM 的1477项 转化utc时间
  16. coreldraw sp2精简版 x4_coreldraw x4 sp2 精简版
  17. spss26没有典型相关性分析_如何在SPSS中实现典型相关分析
  18. :root选择器的妙用【2021.11.14】
  19. CTFshow web入门——php特性
  20. Python爬虫实战—vmgrils图片网站

热门文章

  1. FP-growth算法理解和实现
  2. 「实战」将多种AI工具整合到游戏开发工作流;AI应用推荐writeout;ControlNet新手实操流程图;ChatGPT复现之路 | ShowMeAI日报
  3. [c++]随机生成四个数字,计算24点,并输出算式
  4. c语言乘法超过长整数,C语言中超大整数乘法运算
  5. 从艺术说起,我们如何看待时空
  6. 荣耀v30pro鸿蒙5g,荣耀V30Pro“5G标杆,不止于快”
  7. 精心收集的Hadoop学习资料
  8. 【方向盘】逐渐碎片化的Java生态圈:Oracle JDK、OpenJDK、阿里Dragonwell、华为毕昇
  9. 除了特斯拉,哪个车企的自动驾驶最牛?
  10. iFunk翼众筹在即,诠释超极本