按汉字首字母搜索的功能,即:输入“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]);
}
}
分享到:
相关推荐
对于需要进行中文文本检索、排序等操作的应用来说,能够快速提取汉字的拼音首字母是一种高效的方法。下面将对提供的VB代码进行详细解读,并深入探讨其中的关键知识点。 #### 一、函数概述 该代码段提供了两个函数...
在VB(Visual Basic)编程环境中,获取汉字的拼音首字母是一项常见的需求,特别是在处理中文数据、搜索优化或者信息分类时。这个功能可以帮助我们将汉字转换为它们对应的拼音缩写,便于计算机处理。以下将详细讲解...
在本项目"Qt提取汉字拼音首字母"中,我们将探讨如何利用Qt来处理汉字与拼音之间的转换,特别是在获取汉字的拼音首字母方面。 首先,我们需要理解汉字与拼音的关系。汉字是中文的主要书写系统,而拼音是用拉丁字母来...
Oracle查询取汉字拼音首字母Function
为了实现汉字到拼音首字母的转换功能,我们可以定义一个自定义函数,该函数接收一个包含中文字符的字符串作为输入,然后逐个字符地进行处理,最终返回一个由这些字符的拼音首字母组成的字符串。 #### 三、具体实现...
标题“SQL按拼音首字母排序”以及描述中的关键词“SQL按拼音排序”,指向了一种特殊的数据排序需求:在数据库中,针对包含中文字符的字段,按照中文拼音的首字母进行排序。这在处理大量含有中文名称、地点等信息的...
在Oracle数据库中,处理汉字和拼音的场景时,有时我们需要获取汉字的拼音或者拼音首字母。这在构建中文搜索引擎、数据分析或报表展示等场景中非常有用。Oracle提供了一些内置的功能函数,可以用来实现这些需求。以下...
在中文环境中,为了方便用户根据汉字的拼音首字母进行快速查找,这种查询方式尤其有用。Oracle数据库虽然原生支持英文字符集,但通过特定的方法,也可以处理中文字符集并实现拼音查询功能。以下将详细阐述这一主题。...
sql 汉字转拼音首字母 代码 function --汉字转拼音首字母sql Create FUNCTION dbo.fnpbGetPYFirstLetter ( @str NVARCHAR(4000) )
PB 提取汉字拼音首字母的功能是开发者在处理中文字符时可能会遇到的需求,尤其是在数据处理、搜索优化或者构建中文索引等方面。这个功能允许将汉字转换为其对应的拼音首字母,从而实现基于拼音的快速查找或排序。 ...
支持2万+汉字转拼音首字母
SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母SQL取得汉字拼音首字母
在IT领域,汉字拼音首字母查询是一个常见的功能,尤其在早期的计算机系统中,由于全拼输入法尚未普及,这种查询方式被广泛用于文本处理和信息检索。在本例中,我们关注的是一个使用Delphi7开发的程序,它允许用户...
使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母
Excel表格汉字转拼音首字母的方法 在 Excel 表格中,为了方便数据处理和分析,经常需要将汉字转换为拼音首字母。下面将介绍如何使用 VBA 编程将 Excel 表格中的汉字转换为拼音首字母。 知识点一:使用 VBA 编程 ...
在Excel中,有时候我们需要处理汉字的拼音首字母,特别是在数据整理、分类或者搜索过滤时,这种功能非常实用。标题提到的“EXCEL中汉字拼音首字母”是指在Excel电子表格中利用特定的方法获取汉字的拼音首字母。描述...
在IT行业中,Unicode汉字拼音首字母查询是一个常见的需求,尤其在文本处理、搜索引擎优化(SEO)和信息检索等领域。这个工具或程序允许开发者快速获取一个汉字对应的拼音首字母,这对于处理大量汉字数据时非常有用。...
本文将深入探讨如何实现一个基于JavaFX的模糊查询系统,该系统支持汉字、拼音以及拼音首字母的左侧匹配。这个功能对于提高用户在大量中文数据中查找信息的效率至关重要。 首先,我们需要了解JavaFX这一强大的Java...
在Android开发中,为了实现类似通讯录的快速检索功能,我们常常需要将汉字转换为拼音,以便用户可以通过首字母进行筛选。...同时,由于工具类的复用性,它也可以被应用到其他需要按拼音首字母排序或检索的场景中。
总的来说,通过结合JavaScript的字符串处理和DOM操作,我们可以实现中文拼音首字母的获取以及基于拼音首字母的页面内容查找。在实际应用中,可能还需要考虑性能优化,例如使用更高效的查找算法,或者对大量数据的...