长按识别下方二维码,即可"关注"公众号

每天早晨,干货准时奉上!

一款成熟的产品,首页的搜索功能除了正常的关键词匹配以外;还要考虑到用户忘记输入汉字或者用户想通过关键字首字母来进行搜索的操作。

这不,阿淼公司最近在做游戏盒子,其中包含很多游戏,有个需求就是要用户可以根据游戏名称首字母搜索游戏,如搜索 zwdzjs 可以搜索出来植物大战僵尸等;输入 hzw 可以搜索出来海贼王等。

功能如何实现?接下来阿淼就直接带大家实操。

1、导入依赖包

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

2、实现拼音工具类

2.1、根据汉字获取全拼

 public String getPingYin(String src) {char[] t1 = null;t1 = src.toCharArray();String[] t2 = new String[t1.length];HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();//设置拼音大小写 LOWERCASE(小写)  UPPERCASE(大写)t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);//设置声调t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);t3.setVCharType(HanyuPinyinVCharType.WITH_V);String t4 = "";int t0 = t1.length;try {for (int i = 0; i < t0; i++) {// 判断是否为汉字字符if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);t4 += t2[0];} else {t4 += java.lang.Character.toString(t1[i]);}}return t4;} catch (BadHanyuPinyinOutputFormatCombination e1) {e1.printStackTrace();}return t4;}

2.2、根据汉字获取首字母

public String getPinYinHeadChar(String str) {String 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;}

3、测试

测试代码:

public static void main(String[] args) {PinYinUtil pinYinUtil = new PinYinUtil();String str = "植物大战僵尸";String quanpin=pinYinUtil.getPingYin(str);String head=pinYinUtil.getPinYinHeadChar(str);System.out.println("中文名称:"+str);System.out.println("全拼:"+quanpin);System.out.println("首字母:"+head);}

测试结果:

中文名称:植物大战僵尸
全拼:zhiwudazhanjiangshi
首字母:zwdzjs

好了,今天的分享就到这里吧,明天咱们再继续。


阿淼个人微信

添加即送全套程序员必读资料

→ 精选技术资料共享

→ 高手如云交流社群

∆来和大家一起进步吧!

写留言

觉得不错就点个在看吧 

java 拼音首字母搜索内容功能详解相关推荐

  1. java 拼音首字母搜索内容功能

    java 拼音首字母搜索内容功能 1..导入依赖包```java <dependency><groupId>com.belerweb</groupId><ar ...

  2. 在PostgreSQL中实现按拼音、汉字、拼音首字母搜索的例子

    在PostgreSQL中实现按拼音.汉字.拼音首字母搜索的例子 作者 digoal 日期 2016-11-09 标签 PostgreSQL , 拼音 , 中文分词 , tsvector , 拼音首字母 ...

  3. 【Solr】 solr对拼音搜索和拼音首字母搜索的支持

    问:对于拼音和拼音首字母的支持,当你在搜商品的时候,如果想输入拼音和拼音首字母就给出商品的信息,怎么办呢? 实现方式有2种,但是他们其实是对应的.  用lucene实现 1.建索引, 多建一个索引字段 ...

  4. java 拼音首字母_java获取中文拼音首字母的实例

    导读热词 正文 如下所示: import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到 ...

  5. [Emuelec]支持中文拼音首字母搜索,但不显示拼音首字母

    1.在gamelist.xml中添加字段sortname,将游戏名(不带拼音首字母的名字)填入其中 2.在游戏系统选择文本筛选模式为"按排序名筛选" 查看结果,字幕尾巴不见了 对应 ...

  6. SpringBoot2.2.2+Elasticsearch7.6.2实现中文、拼音、拼音首字母智能提示功能

    一.Elasticsearch介绍 1.1 Elasticsearch是什么 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfu ...

  7. php根据汉字首字母分组,利用PHP获取汉字首字母并且分组排序详解

    前言 本文主要给大家介绍了关于PHP获取汉字首字母并分组排序的相关内容,因经常我们在做项目的时候,会有按首字母排序的需求 比如: 美团的城市选择 http://www.meituan.com/inde ...

  8. ES支持中文全拼拼音首字母搜索

    环境 Ubuntu18.04 ES 6.6.1 搜索模板 新建模板,便于后续创建索引,直接使用模板,省事方便 PUT _template/goods {"index_patterns&quo ...

  9. 汉字按拼音首字母查询

    按汉字首字母搜索的功能,即:输入"bj"得到"北京": 注意:以下顺序是我的项目实现过程,各位不一定要按这个步骤,活学活用: 一.将汉字集合提取首字母: 1.新 ...

最新文章

  1. 语音信号处理_书单 | 语音研究进阶指南
  2. jquery实现上传图片及图片大小验证、图片预览效果代码
  3. SimpleDateFormat 详解
  4. python dict遍历_Python学习笔记:19个pythonic编程习惯,让你的Python入门更优雅
  5. C#开发笔记之19-如何用C#实现优雅的Json解析(序列化/反序列化)方案?
  6. python视频帧提取并保存_如何用python实现视频关键帧提取并保存为图片?
  7. Modbus RTU转Modbus TCP网关的应用
  8. 一名前端 Leader 的转正述职记录
  9. Python中奇技淫巧之定时运行函数
  10. mongodb插入查询速度测试
  11. Android仿QQ微信开场导航以及登陆界面
  12. vb.net 窗体接收键盘事件_不用100就能够买到全键盘的无线键鼠套装,双飞燕FG1010魅力依旧...
  13. VB程序破解常用函数
  14. 学会这20招PS操作技巧,提高80%的工作效率
  15. 前洛克希德马丁高工谈宽带RF接收机架构
  16. windows jar包按钮启动和开机自启两种方式实现
  17. linux 磁盘克隆工具下载,EaseUS Disk Copy(磁盘克隆软件)
  18. 【论文笔记】Forensic Similarity for Digital Images
  19. "心脏出血"本年度最严重的安全漏洞
  20. ABB机器人二次开发:基于PC SDK的机器人控制器扫描程序编写

热门文章

  1. 腾讯云服务器一键登录失败解决方案
  2. 【AI】Stable-Diffusion-WebUI使用指南
  3. 振镜可以用计算机控制,浅析喷码机配件激光振镜的原理
  4. 路由缓存信息文件rt_acct和rt_cache
  5. UG加工外形不抬刀连续切削设置
  6. Dmaven.multiModuleProjectDirectory system property is not set
  7. 动态解析ipv6地址,实现域名访问家里网络
  8. 拔出移动硬盘提示“该设备正在使用”解决方法
  9. 【云计算】Pod概念及介绍
  10. java从url下载文件_从URL下载Java文件