java汉字转拼音(全拼、简拼)

        <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</version></dependency>
package com.zhecre.pd.cdss.business.mapper;import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhecre.pd.cdss.business.DbConfig;
import com.zhecre.pd.cdss.business.domain.base.KdBaseWesternMedicine;
import com.zhecre.pd.cdss.business.mapper.base.KdBaseWesternMedicineMapper;
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;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;
import java.util.List;
import java.util.Locale;@EnableAutoConfiguration(exclude = DruidDataSourceAutoConfigure.class)
@SpringBootTest(classes = DbConfig.class)
public class PinYinTest {@AutowiredKdBaseWesternMedicineMapper mapper;@Testpublic void getPinyins() {List<KdBaseWesternMedicine> list = mapper.selectList(Wrappers.<KdBaseWesternMedicine>lambdaQuery().select());
//        System.out.println(kdBaseWesternMedicines);List pinyins = new ArrayList();for (KdBaseWesternMedicine name : list) {String py = getPinYinHeadChar(name.getDrugName());pinyins.add(py.toLowerCase(Locale.ROOT));}
//        System.out.println(pinyins);System.out.println(pinyins);}//转全拼public String getPinYinHeadChar(String str) {String convert = "";if (str == null || str.length() == 0) {return convert;}for (int j = 0; j < str.length(); j++) {char word = str.charAt(j);// 提取汉字的首字母String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);if (pinyinArray != null) {convert += pinyinArray[0].charAt(0);} else {convert += word;}}return convert.toUpperCase();}//转简拼public String getPinyin(String china){HanyuPinyinOutputFormat formart = new HanyuPinyinOutputFormat();formart.setCaseType(HanyuPinyinCaseType.LOWERCASE);formart.setToneType(HanyuPinyinToneType.WITHOUT_TONE);formart.setVCharType(HanyuPinyinVCharType.WITH_V);char[] arrays = china.trim().toCharArray();String result = "";try {for (int i=0;i<arrays.length;i++) {char ti = arrays[i];if(Character.toString(ti).matches("[\\u4e00-\\u9fa5]")){ //匹配是否是中文String[] temp = PinyinHelper.toHanyuPinyinStringArray(ti,formart);result += temp[0];}else{result += ti;}}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return result;}}

java汉字转拼音(全拼、简拼)相关推荐

  1. SQL Server编写函数获取汉字的拼音码(简拼)

    目录 1. 拼音码简介 2.自定义获取拼音码函数 1. 拼音码简介 拼音码一般分为全拼.简拼.双拼三大类.在数据库系统查询中,使用简拼查询能打打提高输入的速度,提高查询效率.比如,在药店系统中,查询药 ...

  2. Java 汉字转拼音(全拼与简拼)的方法

    最近在项目中遇到了要将火车站名转换为全拼与简拼,在网上找了几种方法,又在大神同事的帮忙下,找到了一种比较好的方法,在此分享给有需要的朋友. 一.依赖导入 gradle导入: compile 'com. ...

  3. Java汉字转拼音(全拼、首字母拼)

    Java汉字转拼音(全拼.首字母拼) public class ChineseToEnglish { /*** 汉字转拼音* @param src* @return*/public static St ...

  4. java将汉字转成拼音首字母大写字母_java 根据汉字生成拼音全拼或拼音首字母的示例...

    1.情景展示 java 根据中文生成对应的拼音 2.准备工作 所需jar包:pinyin4j-2.5.0.jar 3.解决方案 导包 import net.sourceforge.pinyin4j.P ...

  5. sql文字转换全拼_SQL自定义函数:由汉字生成拼音全拼

    SQL自定义函数:由汉字生成拼音全拼 CREATE function [dbo].[fun_GetPy_quanpin](@str varchar(100)) returns varchar(8000 ...

  6. Delphi汉字转拼音全拼

    查询了很多网上汉字转拼音的方案,一种是用VBA实现的,另一种是只能转汉字首字母,结合VBA的方式,用Delphi实现汉字转拼音全拼的方法.附Delphi7写的例程链接 Delphi实现汉字转拼音全拼的 ...

  7. EasyUI下combobox中添加checkbox,并输入全拼简拼进行筛选显示

    开发任务:combobox中对输入值进行全拼简拼的搜索筛选显示,并且可以多选,取消选择,重复搜索,于是简单的考虑了如下js操作,应该会有更好的,但也是一种方法吧.做个记录,便于后期查阅查考. 1.ht ...

  8. 【汉字转拼音工具】Java 汉字转拼音

    文章目录 Maven依赖引入 Java代码实现 Maven依赖引入 <dependency><groupId>com.belerweb</groupId><a ...

  9. java 汉字转换拼音

    java 汉字转换拼音 maven依赖 <dependency><groupId>com.belerweb</groupId><artifactId>p ...

最新文章

  1. MIT自然语言处理第五讲:最大熵和对数线性模型(第一部分)
  2. AR智能提升工业效率的4大场景与应用实践!
  3. java获取pdf的页数、内容和缩略图
  4. bash參考手冊之六(Bash特性)
  5. angular 自定义组件_如何创建Angular 6自定义元素和Web组件
  6. Oracle中ascii为0的陷阱
  7. php项目邮件连接无效,完美解决wordpress邮件链接无效的问题
  8. opengl绘制刻度坐标系_OpenGL中的坐标系-2D
  9. java nmap集成_nmap为了开发方便 可以做简单的修改
  10. 弦理论三先驱获2020年狄拉克奖
  11. 听说学习是件苦差事——Linux第一天
  12. 技法の穴をふさぐ:コスト編 --人月単価は案件ごとにバラバラ公表データで相場を知る
  13. 关于多个ul标签并列时下对齐的问题
  14. 区块链如何改变出版商在学术传播中的角色
  15. 腾讯视频客服在哪找 如何联系腾讯视频人工客服2019
  16. 欧盟玩具标准EN71-3更新至2019版
  17. Verilog中 高位与低位
  18. echarts 中国地图自动播放
  19. 转载:自动驾驶之软件定义汽车
  20. 计算机原始程序,原始程序员竟然是这样写代码的?

热门文章

  1. HTML5大前端全套教程(视频+源码+学习路线图)
  2. 鲍尔默密会快船老板娘,微软前CEO要玩球
  3. 搜索引擎发展趋势:对SNS社交网站的收录
  4. Android开发者网站博客导航
  5. android系统广播汇总
  6. 诺基亚“东山再起”业务重组 全球裁员引关注
  7. 通过OpenCV库实现基于FMM的图像修复概述
  8. 【路径规划】基于FMM快速行进法实现船舶路径规划附matlab代码
  9. 【Android Camera1】Camera1初始化销毁流程(一) —— 官方Demo初始化流程分析
  10. 深度解析vivoX20四大创新突破!小米Mix2望尘莫及,雷军慌了