拼音检索

简介:

当我们遇到要处理汉字和拼音之间的转化关系怎么办?如和用程序来实现?

我搜索到一个ChineseChar开发包,然后实现了这一难题

using System;
using Microsoft.International.Converters.PinYinConverter;

namespace 拼音基础
{
    class Program
    {
        static void Main(string[] args)
        {

            #region 判断是否为同音字
            ChineseChar chineseChar = new ChineseChar('微');
            Console.WriteLine("Stroke number of 微 in Chinese is {0}.", chineseChar.StrokeNumber);
            Console.WriteLine("{0} characters' pinyin is \"wei1\".", ChineseChar.GetHomophoneCount("wei1"));
            if (ChineseChar.IsHomophone('微', '薇'))
            {
                Console.WriteLine("微 and 薇 have the same pinyin.");
            }
            else
            {
                Console.WriteLine("微 and 薇 have different pinyins.");
            } 
            #endregion
            ChineseChar char1 = new ChineseChar('单');
            bool f = ChineseChar.IsHomophone('杨','洋');
            Console.Write("杨和洋是否为同音字"+f);
            Console.Write("\n单是否为多音字:"+char1.IsPolyphone);
            char[] chars = ChineseChar.GetChars("ji3");//要加上声调
            foreach (char c in chars)
            {
                Console.Write(c + " ");
            }

            for (int i = 0; i < char1.PinyinCount; i++)
            {
                string s=char1.Pinyins[i];
                Console.WriteLine(s);
            }
            
            
            //判断是否是一个拼音字符串
            Console.WriteLine("de是否是一个合法的拼音"+ChineseChar.IsValidPinyin("de1"));//1,2,3,4表示声调

            #region 输入一段中文,写出拼音
            string str = Console.ReadLine();
            foreach (char c in str)
            {
                if (ChineseChar.IsValidChar(c))
                {
                    ChineseChar cc = new ChineseChar(c);
                    Console.Write(cc.Pinyins[0] + " "); 
                }
                else
                {
                    Console.Write(c);
                }
            } 
            #endregion

            Console.Read();
        }
    }
}

 




















本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366791,如需转载请自行联系原作者


相关文章
|
自然语言处理 API 索引
Elasticsearch汉字补全和拼写纠错
Elasticsearch汉字补全和拼写纠错
366 0
|
canal 搜索推荐 关系型数据库
拼音分词器
安装方式参考IK分词器
262 0
|
C#
C#中汉字排序简单示例(拼音/笔划)
可以按照区域语言修改排序规则。 class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN)", "孫(SU...
2507 0
|
存储 自然语言处理 索引
ElasticSearch配置IK灵活匹配单个汉字与词组
需求:在检索单个中文字符时,能够匹配包含该单字的文档;在检索词语时,就不按单字进行匹配。也就是说以商品为例,如果搜索“酒”字,能够匹配到关于“啤酒”“白酒”“红酒”等所有的文档;但如果搜索“啤酒”词语,就只匹配“啤酒”。另外,在匹配时,能够全文匹配的结果排在前面,包含分词匹配的结果排在后面,并且要按匹配度与销量来排序。
|
自然语言处理
使用微软PinYinConverter查询汉字拼音
原文:使用微软PinYinConverter查询汉字拼音 通过汉字,如何查询拼音? 微软有相应的DLL可直接使用 引用方式 Nuget包管理安装 DLL下载后,引用 可以从微软的网站上下载相关文字处理的类库,下载地址如下: http://download.
1627 0