时间:2021-05-19
序
一款成熟的产品,首页的搜索功能除了正常的关键词匹配以外;还要考虑到用户忘记输入汉字或者用户想通过关键字首字母来进行搜索的操作。
这不,阿淼公司最近在做游戏盒子,其中包含很多游戏,有个需求就是要用户可以根据游戏名称首字母搜索游戏,如搜索 zwdzjs 可以搜索出来植物大战僵尸等;输入 hzw 可以搜索出来海贼王等。
功能如何实现?接下来阿淼就直接带大家实操。
1、导入依赖包
<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency>2、实现拼音工具类
2.1、根据汉字获取全拼
publicStringgetPingYin(Stringsrc){char[]t1=null;t1=src.toCharArray();String[]t2=newString[t1.length];HanyuPinyinOutputFormatt3=newHanyuPinyinOutputFormat();//设置拼音大小写LOWERCASE(小写)UPPERCASE(大写)t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);//设置声调t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);t3.setVCharType(HanyuPinyinVCharType.WITH_V);Stringt4="";intt0=t1.length;try{for(inti=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]);}}returnt4;}catch(BadHanyuPinyinOutputFormatCombinatione1){e1.printStackTrace();}returnt4;}2.2、根据汉字获取首字母
publicStringgetPinYinHeadChar(Stringstr){ Stringconvert="";for(intj=0;j<str.length();j++){charword=str.charAt(j);String[]pinyinArray=PinyinHelper.toHanyuPinyinStringArray(word);if(pinyinArray!=null){convert+=pinyinArray[0].charAt(0);}else{convert+=word;}}returnconvert;}3、测试
测试代码:
publicstaticvoidmain(String[]args){PinYinUtilpinYinUtil=newPinYinUtil();Stringstr="植物大战僵尸";Stringquanpin=pinYinUtil.getPingYin(str);Stringhead=pinYinUtil.getPinYinHeadChar(str);System.out.println("中文名称:"+str);System.out.println("全拼:"+quanpin);System.out.println("首字母:"+head);}测试结果:
中文名称:植物大战僵尸
全拼:zhiwudazhanjiangshi
首字母:zwdzjs
到此这篇关于详解java 拼音首字母搜索内容功能的示例的文章就介绍到这了,更多相关java 拼音首字母搜索内容内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、问题描述汉字转化为对应的拼音或者获取汉字拼音的首字母,这些都是在开发中经常遇到的问题,在获取汉字的拼音或者拼音的首字母之后,我们在推荐或者搜索部门可以很大程
本文实例讲述了C#实现汉字转拼音或转拼音首字母的方法。分享给大家供大家参考。具体实现方法如下://////汉字转拼音或转拼音首字母///publicclassC
获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C#获取汉字的拼音首字母//////在指定的字符串列表CnStr中检索符合拼音
动车组的车次命名以“D”打头(“动”的拼音首字母),而高速动车的车次命名以“G”打头(“高”的拼音首字母),我们可以凭借这个区分它是高铁还是动车。高铁的轨道和动
本文实例讲述了java获取中文拼音首字母工具类定义与用法。分享给大家供大家参考,具体如下:packagecom.sw.documentary.common.ut