汉字按拼音首字母查询
按汉字首字母搜索的功能,即:输入“bj”得到“北京”;
注意:以下顺序是我的项目实现过程,各位不一定要按这个步骤,活学活用;
一、将汉字集合提取首字母:
1、新建两个集合,
Java代码 收藏代码
public static List<String> cityNameChar = new ArrayList<String>();//保存中文城市名;
public static List<String> cityNameShort = new ArrayList<String>();//保存拼音首字母;
2、初始化
Java代码 收藏代码
// 初始化城市字母简称集合
for (int i = 0; i < CityUtil.allCity.length; i++) {
cityNameShort.add(getPingYinShort(CityUtil.allCity[i]));
cityNameChar.add(CityUtil.allCity[i]);
}
用到的方法:
Java代码 收藏代码
/**
* 将字符串中的中文转化为拼音,并提取首字母
*
* @param inputString
* @return
*/
public static String getPingYinShort(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 shortString = "";
try {
for (int i = 0; i < input.length; i++) {
// \\u4E00是unicode编码,判断是不是中文
if (java.lang.Character.toString(input[i]).matches(
"[\\u4E00-\\u9FA5]+")) {
// 将汉语拼音的全拼存到temp数组
String[] temp = PinyinHelper.toHanyuPinyinStringArray(
input[i], format);
// 取拼音的第一个读音
shortString += temp[0].substring(0, 1);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return shortString;
}
以上三步就完成了首字母集合与中文集合的对应,下面就是查询了:
二、数据查询:
数据查询也很简单,如果用户输入的是中文,就在中文集合中查找,否则在首字母集合中查询并返回对应的中文:
Java代码 收藏代码
name = name.toLowerCase();
//字母搜索
if (name.matches("[a-zA-Z]+")) {
for (int i = 0; i < CommonUtil.cityNameShort.size(); i++) {
if (CommonUtil.cityNameShort.get(i).indexOf(name) != -1) {
cityData.add(CommonUtil.cityNameChar.get(i));
}
}
return;
}
for (int i = 0; i < CityUtil.allCity.length; i++) {
//这里查询了包含name的字符串,按需要定制;
if (CityUtil.allCity[i].indexOf(name) != -1) {
cityData.add(CityUtil.allCity[i]);
}
}
汉字按拼音首字母查询相关推荐
- sql中怎么根据汉字的拼音首字母查询
--可用,速度可以 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fGetPy]') and xtype ...
- sql中实现汉字的拼音首字母查询
先在数据库中加入获取首字母的方法 create function f_GetPy(@str nvarchar(4000)) returns nvarchar(4000) as begin declar ...
- php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程
<Mysql应用MySQL查询汉字的拼音首字母实例教程>要点: 本文介绍了Mysql应用MySQL查询汉字的拼音首字母实例教程,希望对您有用.如果有疑问,可以联系我们. 导读:最好的方法还 ...
- mysql hzpy_MySQL 实现查询汉字的拼音首字母 的字拼音
的字拼音 MySQL 实现查询汉字的拼音首字母 时间:2010-04-06 12:23:22 类别:技术 访问:1,314 views RSS 2.0 评论 其实最好的方法还是用 PHP 来取拼音首字 ...
- mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程
最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0. ...
- mysql 拼音搜汉字,[转]在mysql 里实现查询汉字的拼音首字母
php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0.27-win32 1.建立拼音首字母资料表 DROP TABLE IF EXIS ...
- php mysql首字母查询_MySQL应用技巧实现查询汉字的拼音首字母
其实最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5. ...
- mysql 查询汉字的全拼音以及查询各个汉字的拼音首字母
查询汉字的全拼音 -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` (`pin_yin_` varchar(255) CHARACTE ...
- C# 获取汉字的拼音首字母(转)
原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicod ...
最新文章
- 几种流行Webservice框架性能对比
- 模板方法模式(TemplateMethod) 简介
- 熟悉linux的安全与优化
- spring不自动下载_Spring:自动接线或不自动接线
- 【渝粤教育】电大中专测量学 (3)作业 题库
- 百度对TOP等冷门域名冷淡
- PNP问题-位姿估计方法梳理(pose estimation)
- mysql数据库导入导出_windows系统以及linux系统下的操作---linux工作笔记042
- Windows Azure 云计算服务: 怎样按需选择并计算它将花费多少钱呢?
- 每日英语:Electronics Develop A Sixth Sense
- ios备忘录下载安卓版_IOS版+安卓版,全下载注册教程
- 图解 Python 编程(5) | 运算符(附要点速查表·完结)
- 大数据创业的门槛到底有哪些?
- 数据质量控制与数据治理
- 如何删除管理员也无法删除的文件夹
- win10虚拟机搭建群晖nas碰到的一些问题
- 如何设计一个项目的数据库
- yaahp使用教程_如何用yaahp进行大量备选方案/评价对象的综合评价?
- VSCode远程连接ubuntu服务器
- 逻辑地址 与物理地址的转换
热门文章
- 送给带眼镜的IT工程师朋友的文章
- 最全螺栓规格 l 拧紧到塑性区域的扭矩和预紧力大小
- 310. 最小高度树(Medium)
- python量化交易:Joinquant_量化交易基础【二】:量化策略的基本框架
- 苹果智能拨号软件_App Store 上的“CeleDial 智能拨号”
- Jetson TX1 开发教程(6)--安卓手机控制TX1和Qt程序打包
- 二维不可压缩方腔驱动流数值解——基于涡量流函数方程
- 黄聪mysql_黄聪:mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法
- windows下关闭进程
- 【SSL1759】连通分量【五种方法】