Csharp: 拼音转汉字字符搜索字符串
1 /// <summary> /// 拼音检索 /// </summary> /// <param name="strText"></param> /// <returns></returns> private string GetChineseSpell(string strText) { int len = strText.Length; string myStr = ""; for (int i = 0; i < len; i++) { myStr += getSpell(strText.Substring(i, 1)); } return myStr; } /// <summary> /// 得到汉字首字母 /// /// </summary> /// <param name="cnChar"></param> /// <returns></returns> private string getSpell(string cnChar) { byte[] arrCN = Encoding.Default.GetBytes(cnChar); if (arrCN.Length > 1) { int area = (short)arrCN[0]; int pos = (short)arrCN[1]; int code = (area << 8) + pos; int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 }; for (int i = 0; i < 26; i++) { int max = 55290; if (i != 25) max = areacode[i + 1]; if (areacode[i] <= code && code < max) { return Encoding.Default.GetString(new byte[] { (byte)(65 + i) }); } } return ""; } else return cnChar; }
1 //以下是拼音檢索 //涂聚文修改示例 string[] m_list; m_list = new string[] { "电脑部", "财务部", "生产部","中国", "中国fgdfs", "中阿收费塗聚文的肌肤", "男中国涂聚文生", "女生中国", "女生中国", "女中生国", "女国生中", "女生国中" }; this.listBoxControlStaValue.Items.Clear(); listBoxControlStaValue.Visible = true; System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[^a-zA-Z\r\n]+"); 2 if (!reg.Match(textEdit1.Text.ToString()).Success) { 3 string pattern = textEdit1.Text.Trim(); //遍历ArrayList中的所有道路信息 foreach (object o in m_list) { //获得道路名称各汉字拼音首字母缩写 string strRoadName = GetChineseSpell(o.ToString()).ToLower(); string strtxtRoadName = textEdit1.Text.ToLower(); 4 //1。字串任何位置的字符匹配 5 MatchCollection matches = Regex.Matches(strRoadName, pattern, RegexOptions.IgnoreCase); 6 foreach (Match nextMatch in matches) 7 { 8 int Index = nextMatch.Index; 9 string result = nextMatch.ToString(); 10 listBoxControlStaValue.Items.Add(o); 11 12 } //2。根据拼音进行匹配(利用Contain和Substring函数进行判定)只匹配最前的面第一個字母開始 if (strRoadName.Contains(strtxtRoadName) && strRoadName.Substring(0, strtxtRoadName.Length) == strtxtRoadName) { listBoxControlStaValue.Items.Add(o); maxItemCount = listBoxControlStaValue.Items.Count; } } } else { //当TextBox为空时显示所有数据 }
Csharp: 拼音转汉字字符搜索字符串相关推荐
- 一个利用拼音与汉字混合过滤字符串的函数
type TChn = array[1..27] of string; const ChnA = '啊阿呵吖锕嗄腌爱矮挨哎碍癌艾唉哀蔼隘埃皑呆捱嗳嫒瑷暧砹锿霭嗌袄凹傲奥'+ ...
- iOS searchbar拼音和汉字搜索全国城市
最近在做一个地图相关的应用,涉及到全国城市的切换,于是打算把这个记录下来 用到的主要东西有:百度的全国城市列表,txt格式,jasonkit数据解析第三方,tableview,searchabar,汉 ...
- solr入门之拼音加汉字方式的搜索建议自动补全的不高效实现
今天思考实现了下字符加汉字的搜索建议的 实现--思想主要还是昨天的思想,不过这个方法使用的是匹配查询 ,查询速度可能不太理想 /*** * @描述:用于完成拼音加汉字 组合情况的搜索建议 ---尽量少 ...
- 使用完整拼音查找汉字(完整拼音,不是网上散布的首字符拼音那种方法)
注意:这绝不是网上散播的只能使用拼音首字符进行汉字查找的方案,这是一个真正的输入完整拼音得到相应汉字的解决办法. 大部分程序员眼中只有变量.函数--他们忽略生活中的一切,他们并不理解真正的优雅的程序解 ...
- 拼音转汉字 和 字符编码测试
获得汉字的unicode编码 #define _UNICODE #include <tchar.h> #include <locale.h> #incl ...
- MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音MySQL汉字生成拼音字符串
MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音 一.MySQL创建函数 1.语法 CREATE FUNCTION fun_name([paramName type , ...
- 在PostgreSQL中实现按拼音、汉字、拼音首字母搜索的例子
在PostgreSQL中实现按拼音.汉字.拼音首字母搜索的例子 作者 digoal 日期 2016-11-09 标签 PostgreSQL , 拼音 , 中文分词 , tsvector , 拼音首字母 ...
- solr入门之參考淘宝搜索提示功能优化拼音加汉字搜索功能
首先看一下从淘宝输入搜索keyword获取到的一些数据信息: 第一张:使用拼音的全程来查询 能够看到提示的是匹配的转换的拼音的方式,看最后一个提示项 这里另一个在指定分类文件夹下搜索的功能,难道后台还 ...
- 外挂学习之路(12)--- 用CE搜索字符串和搜索字符数组的区别
用VS2008写个小工程做测试,得到如下一些结论 代码如下: TCHAR test[50] = TEXT("你好啊"); void CasciiDlg::OnBnClickedBu ...
最新文章
- msbuild 语法_用于删除文件的MSBuild Task语法
- python中的正则表达式
- Python爬虫应用实战-如何对爬取的数据进行数据存储?
- 蚂蚁面试:字符串在JVM中如何存放?
- 双光子荧光成像_有机双光子荧光染料在生物成像中的应用取得新进展
- ios-UIViewController和魔态视图的应用以及设备支持方向的设置
- java数据类型及运算符
- 传奇修改数据库后服务器异常,DBserver提示物品数据库加载错误的解决方法
- linux查看日志相关命令
- 800个小炒,一天吃一个叫你吃三年
- 中国最美的100首情诗
- 开启笔记本WIFI热点功能Microsoft Virtual WiFi Miniport Adapter
- java scanner close_Java Scanner close()方法
- C# 命名空间中不存在类型或命名空间名System.XXX
- 【国企招聘合集」 运维/java/架构师/前端
- 开启cdn后导致websocket10秒直接断开连接 报错1006
- Android-银联支付开发
- zookeeper四字监控命令
- 2023年如何搭建最小可行性的产品文档/产品手册?
- 径向基函数和粗糙集在进化多目标优化中的应用