Java中文和拼音相互转换
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中文和拼音相互转换相关推荐
- 中文和拼音的相关转换
关于中文和拼音的相关转换, 代码如下, 对于使用Swift的coder,可以bridge一下 #define HANZI_START 19968 #define HANZI_COUNT 20902st ...
- Elasticsearch7.* + SpringBoot2.*根据中文和拼音分页去重搜索
目的:根据商品名称按中文和拼音分页搜索,并且按商品名去重.这里以Elasticsearch7.4为例. 一.插件安装 1.安装ik中文分词器 下载地址:https://github.com/medcl ...
- elasticsearch 条件去重_Elasticsearch7.* + SpringBoot2.*根据中文和拼音分页去重搜索-Go语言中文社区...
目的:根据商品名称按中文和拼音分页搜索,并且按商品名去重.这里以Elasticsearch7.4为例. 一.插件安装 1.安装ik中文分词器 进入es安装目录 elasticsearch/plugin ...
- Simple: 一个支持中文和拼音搜索的 sqlite fts5插件
之前的工作关系,需要在手机上支持中文和拼音搜索.由于手机上存储数据一般都是用 sqlite,所以是基于 sqlite3 fts5 来实现.这段时间再次入门 c++,所以想用 c++ 实现一下,一来用于 ...
- java中关于拼音的处理。
java中关于拼音的处理.列如:两个字符串按拼音排序(微信好友列表中按姓名排序),获取中文的首字母(字母和数字返回原本). package httpreq.guide;import net.sourc ...
- SpringBoot 集成 ES 7.6.2 并对字段进行中文和拼音分词处理
前言 在最近做的流媒体项目中需要集成 ES 搜索引擎,目前 ES 最新版本为 7.x 版本,在以往的项目中我都采用的是 spring 集成的 spring-data-es, 使用自定义类集成 elas ...
- SpringBoot集成ES 7.6.2 并对字段进行中文和拼音分词处理
文章目录 前言 一.为什么不用spring封装的spring-data-es? 二.springboot集成es的两种方式 1.spring-data-es使用elasticsearch 2.doc对 ...
- java中List Array相互转换
List to Array List 提供了toArray的接口,所以可以直接调用,转为object型数组 List<String> list = new ArrayList<Str ...
- 如何在大型系统中提供拼音检索服务
最近有这么一个需求,客户要求在选择一些业务数据时,能提供类似谷歌的拼音检索功能,由于目前系统中的业务数据都是存储在数据,而且 数据量都比较大,目前主要考虑两种实现方式: 第一种通过构建一个包含有所 ...
- java 中数组与list_Java中List与数组相互转换实例分析
这篇文章主要介绍了Java中List与数组相互转换的方法,实例分析了Java中List与数组相互转换中容易出现的问题与相关的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了Java ...
最新文章
- BZOJ2843: 极地旅行社
- 【五线谱】Sibelius 7.5.1 打谱软件安装 ( 软件下载 | 软件安装 )
- SQL中通配符、转义符与[号的使用
- Python: ljust()|rjust()|center()字符串对齐
- Cisco二层交换机命令
- Linux(CenterOS 6.4)下安装jdk1.6
- 微软SQL 报表服务的研究
- java多按钮筛选条件_Excel办公技巧:如何对表格数据进行自定义筛选?
- 分库分表学习总结(5)——有关分库分表相关面试题总结
- windows快速打开命令窗口方式[利刃篇]
- 法拉利杀手Koenigsegg CCX
- 计算机在微表情的应用,基于深度卷积神经网络的微表情识别
- java移位运算符(一个大于号,两个大于号,三个大于号)
- PHP学生学校在线考试管理系统,MYSQL数据库网页设计
- 激光钎焊的主要工艺参数
- 编写程序计算圆的面积和周长
- 【原创】查看MacOS 系统版本信息
- Java实现库存防超卖_高并发场景-订单库存防止超卖
- Java/Kotlin 最多保留两位小数处理方法
- C语言循环队列的基本操作(init,enquene,dequene)与杨辉三角(C和C++<queue>)
热门文章
- 12个C语言必背实例
- html制作苹果手机屏幕,iphone怎么录屏幕点击动作(苹果手机的屏幕录制步骤)...
- android 屏幕点击录制视频教程,安卓手机怎么屏幕录像,手机屏幕录像详细教程...
- opencv学习笔记四十三:CamShift目标跟踪
- 十次方社交系统开发项目 源码 视频 文档 工具 合集百度云下载地址
- 基于与非门和多路开关结构的一位全加器实现方法
- java键盘钩子_java 写的低级鼠标键盘钩子示例
- 计算机技术及应用攻略,组策略应用全攻略
- wp10 手机 部署linux,【图片】02-15【吐槽】【转】win10手机端直接安装xap教程!【windowsphone吧】_百度贴吧...
- 3DS更新R4烧录卡内核