按汉字首字母搜索的功能,即:输入“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]);
}
}

汉字按拼音首字母查询相关推荐

  1. sql中怎么根据汉字的拼音首字母查询

    --可用,速度可以 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fGetPy]') and xtype ...

  2. sql中实现汉字的拼音首字母查询

    先在数据库中加入获取首字母的方法 create function f_GetPy(@str nvarchar(4000)) returns nvarchar(4000) as begin declar ...

  3. php mysql 拼音首字母,Mysql应用MySQL查询汉字的拼音首字母实例教程

    <Mysql应用MySQL查询汉字的拼音首字母实例教程>要点: 本文介绍了Mysql应用MySQL查询汉字的拼音首字母实例教程,希望对您有用.如果有疑问,可以联系我们. 导读:最好的方法还 ...

  4. mysql hzpy_MySQL 实现查询汉字的拼音首字母 的字拼音

    的字拼音 MySQL 实现查询汉字的拼音首字母 时间:2010-04-06 12:23:22 类别:技术 访问:1,314 views RSS 2.0 评论 其实最好的方法还是用 PHP 来取拼音首字 ...

  5. mysql查询汉字拼音首字母_MySQL查询汉字的拼音首字母实例教程

    最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0. ...

  6. mysql 拼音搜汉字,[转]在mysql 里实现查询汉字的拼音首字母

    php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5.0.27-win32 1.建立拼音首字母资料表 DROP TABLE IF EXIS ...

  7. php mysql首字母查询_MySQL应用技巧实现查询汉字的拼音首字母

    其实最好的方法还是用 PHP 来取拼音首字母,在 MySQL 里新建一个字段来存放 php 里查询汉字的拼音首字母已经有很多参考的代码了. 现在给出在mysql 里实现的, 测试环境是mysql-5. ...

  8. mysql 查询汉字的全拼音以及查询各个汉字的拼音首字母

    查询汉字的全拼音 -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` (`pin_yin_` varchar(255) CHARACTE ...

  9. C# 获取汉字的拼音首字母(转)

    原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicod ...

最新文章

  1. 几种流行Webservice框架性能对比
  2. 模板方法模式(TemplateMethod) 简介
  3. 熟悉linux的安全与优化
  4. spring不自动下载_Spring:自动接线或不自动接线
  5. 【渝粤教育】电大中专测量学 (3)作业 题库
  6. 百度对TOP等冷门域名冷淡
  7. PNP问题-位姿估计方法梳理(pose estimation)
  8. mysql数据库导入导出_windows系统以及linux系统下的操作---linux工作笔记042
  9. Windows Azure 云计算服务: 怎样按需选择并计算它将花费多少钱呢?
  10. 每日英语:Electronics Develop A Sixth Sense
  11. ios备忘录下载安卓版_IOS版+安卓版,全下载注册教程
  12. 图解 Python 编程(5) | 运算符(附要点速查表·完结)
  13. 大数据创业的门槛到底有哪些?
  14. 数据质量控制与数据治理
  15. 如何删除管理员也无法删除的文件夹
  16. win10虚拟机搭建群晖nas碰到的一些问题
  17. 如何设计一个项目的数据库
  18. yaahp使用教程_如何用yaahp进行大量备选方案/评价对象的综合评价?
  19. VSCode远程连接ubuntu服务器
  20. 逻辑地址 与物理地址的转换

热门文章

  1. 送给带眼镜的IT工程师朋友的文章
  2. 最全螺栓规格 l 拧紧到塑性区域的扭矩和预紧力大小
  3. 310. 最小高度树(Medium)
  4. python量化交易:Joinquant_量化交易基础【二】:量化策略的基本框架
  5. 苹果智能拨号软件_‎App Store 上的“CeleDial 智能拨号”
  6. Jetson TX1 开发教程(6)--安卓手机控制TX1和Qt程序打包
  7. 二维不可压缩方腔驱动流数值解——基于涡量流函数方程
  8. 黄聪mysql_黄聪:mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法
  9. windows下关闭进程
  10. 【SSL1759】连通分量【五种方法】