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
  • 相关阅读:
    输入三个整数x、y、z,请把这三个数由小到大输出
    输入某年某月某日,判断这一天是这一年的第几天?
    JS实现背景透明度可变,文字不透明的效果
    tomcat+java的web程序持续占cpu问题调试
    java中HashMap在多线程环境下引起CPU100%的问题解决
    Java HashSet和LinkedHashSet的用法
    关于List Map Set的线程安全的问题
    java 程序消耗 cpu 100% 查找方法
    新浪微博开放平台——话题跟踪
    Mina 断线重连
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/4248459.html
Copyright © 2011-2022 走看看