Java中文和拼音相互转换

jar包

 <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency>

第一个 : 汉字转拼音全拼不忽略英文字符

 /*** (全拼)中文转拼音 --->不忽略英文字符* @param chinese* @return*/public static String getFullSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString();}

第二个 : 汉字转拼音首字母不忽略英文字符

 /*** (首字母)汉字转拼音--->不忽略英文字符* @param chinese* @return*/public static String getFirstSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);if (temp != null) {pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim();}

第三个 : 汉字转拼音全拼忽略英文字符

 /*** (全拼)中文转拼音自动--->忽略英文字符* @param inputString* @return*/public static String getFullSpell_WithoutEnglish(String inputString) {HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);char[] input = inputString.trim().toCharArray();String output = "";try {for (int i = 0; i < input.length; i++) {System.err.println(input[i]);if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);output += temp[0];}}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return output;}

第四个 : 汉字转拼音首字母忽略英文字符

 /*** (首字母)汉字转拼音--->忽略英文字符* @param chinese* @return*/public static String getFirstSpell_WithoutEnglish(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);if (temp != null) {pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}}return pybf.toString().replaceAll("\\W", "").trim();}

Java中文和拼音相互转换相关推荐

  1. 中文和拼音的相关转换

    关于中文和拼音的相关转换, 代码如下, 对于使用Swift的coder,可以bridge一下 #define HANZI_START 19968 #define HANZI_COUNT 20902st ...

  2. Elasticsearch7.* + SpringBoot2.*根据中文和拼音分页去重搜索

    目的:根据商品名称按中文和拼音分页搜索,并且按商品名去重.这里以Elasticsearch7.4为例. 一.插件安装 1.安装ik中文分词器 下载地址:https://github.com/medcl ...

  3. elasticsearch 条件去重_Elasticsearch7.* + SpringBoot2.*根据中文和拼音分页去重搜索-Go语言中文社区...

    目的:根据商品名称按中文和拼音分页搜索,并且按商品名去重.这里以Elasticsearch7.4为例. 一.插件安装 1.安装ik中文分词器 进入es安装目录 elasticsearch/plugin ...

  4. Simple: 一个支持中文和拼音搜索的 sqlite fts5插件

    之前的工作关系,需要在手机上支持中文和拼音搜索.由于手机上存储数据一般都是用 sqlite,所以是基于 sqlite3 fts5 来实现.这段时间再次入门 c++,所以想用 c++ 实现一下,一来用于 ...

  5. java中关于拼音的处理。

    java中关于拼音的处理.列如:两个字符串按拼音排序(微信好友列表中按姓名排序),获取中文的首字母(字母和数字返回原本). package httpreq.guide;import net.sourc ...

  6. SpringBoot 集成 ES 7.6.2 并对字段进行中文和拼音分词处理

    前言 在最近做的流媒体项目中需要集成 ES 搜索引擎,目前 ES 最新版本为 7.x 版本,在以往的项目中我都采用的是 spring 集成的 spring-data-es, 使用自定义类集成 elas ...

  7. SpringBoot集成ES 7.6.2 并对字段进行中文和拼音分词处理

    文章目录 前言 一.为什么不用spring封装的spring-data-es? 二.springboot集成es的两种方式 1.spring-data-es使用elasticsearch 2.doc对 ...

  8. java中List Array相互转换

    List to Array List 提供了toArray的接口,所以可以直接调用,转为object型数组 List<String> list = new ArrayList<Str ...

  9. 如何在大型系统中提供拼音检索服务

    最近有这么一个需求,客户要求在选择一些业务数据时,能提供类似谷歌的拼音检索功能,由于目前系统中的业务数据都是存储在数据,而且 数据量都比较大,目前主要考虑两种实现方式:   第一种通过构建一个包含有所 ...

  10. java 中数组与list_Java中List与数组相互转换实例分析

    这篇文章主要介绍了Java中List与数组相互转换的方法,实例分析了Java中List与数组相互转换中容易出现的问题与相关的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了Java ...

最新文章

  1. BZOJ2843: 极地旅行社
  2. 【五线谱】Sibelius 7.5.1 打谱软件安装 ( 软件下载 | 软件安装 )
  3. SQL中通配符、转义符与[号的使用
  4. Python: ljust()|rjust()|center()字符串对齐
  5. Cisco二层交换机命令
  6. Linux(CenterOS 6.4)下安装jdk1.6
  7. 微软SQL 报表服务的研究
  8. java多按钮筛选条件_Excel办公技巧:如何对表格数据进行自定义筛选?
  9. 分库分表学习总结(5)——有关分库分表相关面试题总结
  10. windows快速打开命令窗口方式[利刃篇]
  11. 法拉利杀手Koenigsegg CCX
  12. 计算机在微表情的应用,基于深度卷积神经网络的微表情识别
  13. java移位运算符(一个大于号,两个大于号,三个大于号)
  14. PHP学生学校在线考试管理系统,MYSQL数据库网页设计
  15. 激光钎焊的主要工艺参数
  16. 编写程序计算圆的面积和周长
  17. 【原创】查看MacOS 系统版本信息
  18. Java实现库存防超卖_高并发场景-订单库存防止超卖
  19. Java/Kotlin 最多保留两位小数处理方法
  20. C语言循环队列的基本操作(init,enquene,dequene)与杨辉三角(C和C++<queue>)

热门文章

  1. 12个C语言必背实例
  2. html制作苹果手机屏幕,iphone怎么录屏幕点击动作(苹果手机的屏幕录制步骤)...
  3. android 屏幕点击录制视频教程,安卓手机怎么屏幕录像,手机屏幕录像详细教程...
  4. opencv学习笔记四十三:CamShift目标跟踪
  5. 十次方社交系统开发项目 源码 视频 文档 工具 合集百度云下载地址
  6. 基于与非门和多路开关结构的一位全加器实现方法
  7. java键盘钩子_java 写的低级鼠标键盘钩子示例
  8. 计算机技术及应用攻略,组策略应用全攻略
  9. wp10 手机 部署linux,【图片】02-15【吐槽】【转】win10手机端直接安装xap教程!【windowsphone吧】_百度贴吧...
  10. 3DS更新R4烧录卡内核