.NET 拼音检索
微软提供了一个Visual Studio International Pack 组件,可以转换简繁体,或者将汉字转换为拼音以及其他语言的支持。
https://www.microsoft.com/zh-cn/download/details.aspx?id=15251这是下载地址。
下载完成后解压,会得到7个msi安装文件,如果只是进行拼音检索,这里只要使用CHSPinYinConv.msi即可,然后安装记好安装位置,安装完毕后,将安装目录下的dll文件添加的工程中去,即可使用了。下面来看一下官方给出的使用方法:
|
ChineseChar类的构造函数。 |
|
|
获取这个汉字字符。 |
|
|
将给出的字符和实例字符的笔画数进行比较。 |
|
|
检索具有指定笔画数的字符个数。 |
|
|
获取给定拼音的所有同音字。 |
|
|
检索具有指定笔画数的所有字符串。 |
|
|
检索具有指定拼音的字符数。 |
|
|
检索指定字符的笔画数。 |
|
|
识别字符是否有指定的读音。 |
|
|
识别给出的字符是否是实例字符的同音字。 |
|
|
识别给出的两个字符是否是同音字。 |
|
|
获取这个字符是否是多音字。 |
|
|
识别给出的字符串是否是一个有效的汉字字符。 |
|
|
识别给出的拼音是否是一个有效的拼音字符串。 |
|
|
识别给出的笔画数是否是一个有效的笔画数。 |
|
|
获取这个字符的拼音个数。 |
|
|
获取这个字符的拼音。 |
|
|
获取这个字符的笔画数。 |
从上面这个表格中可以看到,构造函数参数一个char类型,因此如果stirng类型则需要循环调用。
我们先来看一个字的情况:
static void Main(string[] args)
{
char ch = '着';
ChineseChar py = new ChineseChar(ch);
//注意到Pinyins属性是一个集合因此这里我们用foreach
foreach (var item in py.Pinyins)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
运行程序,得到结果:
ZHAO1
ZHAO2
ZHAO5
ZHE5
ZHUO2
ZHUO5
可以看到在所有拼音完成后还有几行空行,并且这个字的所有多音字的拼音全部列举出来,后面的那个数字代表了声调,5是轻声。因此常规情况下我们如果要检索拼音,只需取出集合的第一个字符串,并且把最后的数字去掉即可:
static void Main(string[] args)
{ string str = "王小会";
StringBuilder pys = new StringBuilder();
foreach (var item in str)
{
ChineseChar py = new ChineseChar(item);
//取出第一个拼音,并且把最后的声调去掉
pys.Append(py.Pinyins[].Remove(py.Pinyins[].Length-));
}
Console.WriteLine(pys.ToString());
Console.ReadLine();
}
运行程序得到结果:
WANGXIAOHUI
这样就完成了拼音检索功能。
.NET 拼音检索的更多相关文章
- MD5、拼音检索和邮件发送
MD5算法 MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错) l 为了防止用户偷懒,算两次MD5值,或者加上一个固定的字符串 MD5算法理论上是不可逆的,因此攻击 ...
- easyui combobox 拼音检索快捷选择输入
easyui combobox 拼音检索快捷选择输入 效果如图 $.ajax({ url: UserActionUrl + '?action=listuserworktype', dataType ...
- elasticsearch 拼音检索能力研究
gitchennan/elasticsearch-analysis-lc-pinyin 配置参数少,功能满足需求. 对应版本 elasticsearch2.3.2 对应 elasticsearch-a ...
- 实现首字母或拼音检索-sql语句方式
create function [dbo].[fn_GetPY](@str nvarchar(max),@type int) returns nvarchar(max) as begin ) begi ...
- el-popover 点击input框出现table表,可点击选中,可拼音检索完回车选中
<template> <card> <el-popover placement="right" width="400" trigg ...
- jquery实现仿select列表的即时搜索及拼音搜索
这里提到select,其实不是select,而是用<li><input>标签去仿造一个select,以实现对已有“option”的快速检索功能. 以<input>标 ...
- Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)
之前在 Solr6.5在Centos6上的安装与配置 (一) 一文中介绍了solr6.5的安装.这篇文章主要介绍创建Solr的Core并配置中文IKAnalyzer分词和拼音检索. 一.创建Core: ...
- Simple: 一个支持中文和拼音搜索的 sqlite fts5插件
之前的工作关系,需要在手机上支持中文和拼音搜索.由于手机上存储数据一般都是用 sqlite,所以是基于 sqlite3 fts5 来实现.这段时间再次入门 c++,所以想用 c++ 实现一下,一来用于 ...
- WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 目前跟信息采集相关的一个项目提出了这样的一个需求:中国银行等 ...
随机推荐
- 一个简单的多线程Python爬虫(一)
一个简单的多线程Python爬虫 最近想要抓取拉勾网的数据,最开始是使用Scrapy的,但是遇到了下面两个问题: 前端页面是用JS模板引擎生成的 接口主要是用POST提交参数的 目前不会处理使用JS模 ...
- BAE 环境下 hibernate annotations 配置
annotations 配置 首先需要加入 hibernate-jpa-2.0-api-1.0.1.Final.jar 和 ejb3-persistence.jar 这两个包 ejb3-persis ...
- APUE《UNIX 环境高级编程》读后感
今天终于把APUE前17章全部看完了,基本上主要知识就在这些章节里. 之前看完<unix/linux编程实践教程>时,有一种豁然开朗.心旷神怡的感觉,在代码级别了解了linux很多系统机制 ...
- SVN版本回滚~
如果你在svn上对文件进行编辑作了修改,想撤销,那么有两种方法可以还原:1) svn revert <yourfile>2) 手动删除该文件,重新执行svn up(rm <yourf ...
- CSS HACK的方法
所有浏览器 通用 height: 100px; IE6 专用 _height: 100px; IE7 专用 *+height: 100px; IE6.IE7 共用 *height: 100px; IE ...
- GNU PGM
Linux程序设计入门 - gpm gpm是Linux console下的滑鼠驱动程序,它主要提供文字模式下的滑鼠事件处 理.Linux下文字界面的滑鼠几乎都是用gpm来处理. gpm的文件在gpm原 ...
- 如何从BBC网站学习英语
- 【HDOJ】1601 Galactic Import
Dijkstra. /* 1601 */ #include <cstdio> #include <cstring> #include <cstdlib> #defi ...
- 图论(KM算法,脑洞题):HNOI 2014 画框(frame)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABPoAAANFCAIAAABtIwXVAAAgAElEQVR4nOydeVxTV/r/n9ertaJEC4
- 搜索(三分):HDU 3400 Line belt
Line belt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...