在开发的时候,有时候需要通过输入某些关键字来获取某些相关的内容,比如:通信录中根据姓氏来查找对应的通信录信息。而这就涉及到了输入中文转化为字母的知识(拼音),这里介绍一种pinyin4j的框架的使用。
这里提供jar包以及源码,如果需要请点击链接:http://pan.baidu.com/s/1hsNTKPY 密码:i3np


实现效果

由于实现比较简单就不截图了,如果调用getPingYin(“中文”),会返回zhongwen
如果调用converterToFirstSpell(“中文”)会返回每个文字的首字母大写ZW
注意,如果中文字符串中包含其他字符会在原位置显示


实现步骤:

1.导入jar包,或者根据源码自己实现更多方法。

2.创建一个工具类,将下面的两个方法根据需复制进去就可,或者直接将下面需要的方法复制到自己要用的类中,然后调用就可

public class PingYinUtil {/*** 将字符串中的中文转化为拼音,其他字符不变*/public static String getPingYin(String chineseName) {HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);Pattern p = Pattern.compile("^[\u4E00-\u9FA5A-Za-z_]+$");Matcher matcher = p.matcher(chineseName.substring(0, 1));if (matcher.find()) {char[] input = chineseName.trim().toCharArray();String output = "";try {for (int i = 0; i < input.length; i++) {if (Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);output += temp[0];} elseoutput += Character.toString(input[i]);}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return output;} else {return "";}}//输入中文名,获取对应每个文字的首字母大写,其他字符不变public static String converterToFirstSpell(String chineseName) {String pinyinName = "";char[] nameChar = chineseName.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].charAt(0);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pinyinName += nameChar[i];}}return pinyinName;}
}

这里提供一个在pingyin4j基础上改进的jpinyin
https://github.com/stuxuhai/jpinyin/tree/master/src/main

【框架】pinyin4j中文汉字转化为拼音相关推荐

  1. 利用 pinyin4j 把汉字转化为拼音

    1.     简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理.比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的.比如要查询"曹孟德" ...

  2. jpinyin 将城市名汉字转化为拼音

    jpinyin 将城市名汉字转化为拼音 以前一直使用pinyin4j将汉字转化为拼音,但有一些多音字,城市名等,不能完全正确地解析出来,今天发现还有一个jpinyin-1.0.jar,能够比较好地处理 ...

  3. java实现Excel文件解析---apache POI以及把汉字转化为拼音

    java实现Excel文件解析----apache  POI以及把汉字转化为拼音 1.POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供给Java程序对Microso ...

  4. python把汉字变成拼音英文_利用python将表格中的汉字转化为拼音

    GB18030的字符集标准 http://zbgb5.com/2/StandardDetail479488.htm 缺少包时用pip install 进行安装,例如: pip install xlsx ...

  5. java将汉字转化为拼音

    在日常的开发中,可能需要将汉字转化为拼音,例如想要某些城市的开头拼音大写字母作为城市的简称,全国有几百个城市,如果需要一个一个自己拼那太麻烦了,在 Java 中,有人开发这样一个工具. 下面看一下如何 ...

  6. 汉字转化为拼音,支持多音字

    最近需要在车机上增加蓝牙电话薄功能,其中最重要的一个功能是需要通过人名的拼音或首字母来查询电话薄,比较好的一个实现方式是首先将电话薄中中文姓名转化为拼音和拼音对应首字母,然后跟用户输入的拼音字符串进行 ...

  7. 汉字转化为拼音(php版)

    分享:汉字转化为拼音(php版) 很多服务器对于中文文件名支持不是很好,需要一种解决方法. 解决方法一般是产生一个ID,将这个ID做文件名:网页上如果url带汉字也经常出错:现在的解决方法一般用url ...

  8. python将汉字转化为拼音

    python将汉字转化为拼音 安装 依赖python包:pypinyin 直接pip install pypinyin即可 常用方法及场景案例 from pypinyin import pinyin, ...

  9. php将文字转为拼音,基于PHP如何把汉字转化为拼音

    PHP将汉字转换拼音是程序员们经常需要操作的任务之一,别看这一小功能却能发挥很大的作用,以下是正确的汉字转拼音方法,大家可以借鉴一下. 具体代码如下所示: <?php $d=array( arr ...

最新文章

  1. think组合查询AND和OR一起用
  2. OSChina 周五乱弹 —— 一句话证明你看过此乱弹~
  3. GDCM:png文件转为dcm文件的测试程序
  4. 【心情】今天买了YINSH!
  5. data:image data url 文件上传
  6. id,clientid 和 uniqueid 的区别
  7. Windows 安装 sbt
  8. 如何看待小米10的葫芦屏?
  9. Charles的安装及设置
  10. CURL模拟访问网页
  11. mysql 中的bool值
  12. 5个必看的Docker视频
  13. 2022年10月总结 (距离激动人心的928已经过去一个多月了)
  14. 决策树first task之框架搭建和提出问题
  15. 华为超级技术大牛的十年经验总结
  16. 外媒起底FF 前员工:只要贾跃亭在 就造不出车 | 行业
  17. php is_subclass_of,PHP is_subclass_of() 函数用法及示例
  18. 浅谈桌面应用程序的开发
  19. 阿里云S6机型与N4机型哪个好?
  20. 1682亿!!阿里工程师如何喝着茶创造双11奇迹?

热门文章

  1. 32G SFP28 FC多模光模块介绍及应用
  2. ARM WFI和WFE
  3. zb怎么做渲染图_美术丨教程:使用ZBrush渲染制作女神的衣物和皮肤
  4. 股票买卖(买入卖出一次)
  5. 学成在线 第1天 讲义-项目概述 CMS接口开发 三
  6. 关于html里th:with的介绍使用
  7. 小唐开始刷蓝桥(六)2015年第六届C/C++ B组蓝桥杯省赛真题
  8. 小唐开始刷蓝桥(九)2012年第三届C/C++ B组蓝桥杯省赛真题
  9. 华为:业务决策,怎样才能让数字化真正指导行动?
  10. css3 div从左到右滑入