zoukankan      html  css  js  c++  java
  • 汉字处理组件

    有时候项目中会根据用户姓名的拼音检索数据,微软专门提供了一个组件安装包来处理非英文的特殊语言,名称为 

    Microsoft Visual Studio International Pack 

    下载这个安装包,然后安装简体中文的组件

    默认的安装路径为:C:Program Files (x86)Microsoft Visual Studio International PackSimplified Chinese Pin-Yin Conversion Library

    要在项目中使用这种汉字处理方法需要添加该目录下的dll文件:ChnCharInfo.dll

    以下是这个简体中文包提供的方法

    测试代码:

    using Microsoft.International.Converters.PinYinConverter;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 获取汉字拼音
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 1.获取指定汉字的拼音
                ChineseChar cc = new ChineseChar('');
                // 因为汉字有可能是多音字,所以循环遍历输出所有的拼音
                foreach (var str in cc.Pinyins)
                {
                    // 输出结果为:LE4,YUE4。(注意:拼音后面的数字代表声调)
                    Console.WriteLine(str);
                }
                // 2.获取这个汉字字符。
                Console.WriteLine(cc.ChineseCharacter); // 输出结果:乐
    
                // 3.获取这个字符的笔画数。 
                Console.WriteLine(cc.StrokeNumber); // 输出结果:5
    
                // 4.获取这个字符的拼音个数。 
                Console.WriteLine(cc.PinyinCount);  // 输出结果:2
    
                // 5.将给出的字符和实例字符的笔画数进行比较。输出结果为“乐” 字的笔画数减去要比较的汉字笔画数
                Console.WriteLine(cc.CompareStrokeNumber('')); // “乐”字的笔画数比“中”字的笔画数多1,输出结果:1
                Console.WriteLine(cc.CompareStrokeNumber('')); // “乐”字的笔画数和“主”字的笔画数一样多,输出结果:0
                Console.WriteLine(cc.CompareStrokeNumber('')); // “国”字的笔画数比“乐”字的笔画数多3,输出结果:-3
    
                // 6.检索具有指定笔画数的字符个数。 
                Console.WriteLine(ChineseChar.GetCharCount(1));
    
                // 7.检索具有指定笔画数的所有字符串。 
                char[] cSameStrokeNum = ChineseChar.GetChars(1);
                foreach (var c in cSameStrokeNum)
                {
                    Console.WriteLine(c);
                }
    
                // 8.获取给定拼音的所有同音字。 
                char[] cSamePinyin = ChineseChar.GetChars("shao4"); // PS:必须指定拼音的声调
                foreach (var c in cSamePinyin)
                {
                    Console.WriteLine(c);
                }
    
                // 9.还有很多其他方法
                Console.ReadKey();
            }
        }
    }
    View Code
  • 相关阅读:
    二分练习题4 查找最接近的元素 题解
    二分练习题5 二分法求函数的零点 题解
    二分练习题3 查找小于x的最大元素 题解
    二分练习题2 查找大于等于x的最小元素 题解
    二分练习题1 查找元素 题解
    code forces 1176 D. Recover it!
    code forces 1173 B. Nauuo and Chess
    code forces 1173 C. Nauuo and Cards
    吴恩达深度学习课程笔记-15
    吴恩达深度学习课程笔记-14
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/4248459.html
Copyright © 2011-2022 走看看