zoukankan      html  css  js  c++  java
  • 中文操作

    中文转拼音

    Nuget 引用 Microsoft.PinYinConverter

    Console.WriteLine("========== 示例:获取汉字的拼音 ==========");
    Console.Write("输入一段话:");
    var txt = Console.ReadLine();
    var sb = new StringBuilder();
    foreach (char t in txt)
    {
        if (ChineseChar.IsValidChar(t))
        {
            if (t != txt.First())
                sb.Append(" ");
    
            var cCh = new ChineseChar(t);
            sb.Append(cCh.Pinyins.FirstOrDefault().Trim('1', '2', '3', '4', '5').ToLower());
        }
        else
        {
            sb.Append(t);
        }
    }
    Console.WriteLine("拼音是:" + sb.ToString());

    ChineseChar类的其他用法

    //1、静态方法:
    //    ->GetCharCount(Inter16)        检索具有指定笔画数的字符个数。
    //    ->GetChars(string)                返回具有相同的指定拼音的字符串列表
    //    ->GetChars(Inter16)            返回具有指定笔画的所有汉字。           
    //    ->GetHomophoneCount(string)    检索具有指定拼音的字符数。 
    //    ->GetStrokeNumber(Char)        检索指定字符的笔画数。 
    //    ->IsHomophone(Char, Char)        识别给出的两个字符是否是同音字。
    //    ->IsValidChar(Char)            识别给出的字符串是否是一个有效的汉字字符。  
    //    ->IsValidPinyin(String)        识别给出的拼音是否是一个有效的拼音字符串。 
    //    ->IsValidStrokeNumber(Int16)    识别给出的笔画数是否是一个有效的笔画数。
    //2、实例方法:
    //    ->ChineseCharNew(Char)            ChineseChar类的构造函数。 
    //    ->CompareStrokeNumber(Char)    将给出的字符和实例字符的笔画数进行比较。  
    //    ->HasSound(String)                识别字符是否有指定的读音。 
    //    -> IsHomophone(Char)            识别给出的字符是否是实例字符的同音字。
    //3、实例属性:
    //    ->ChineseCharacter                获取这个汉字字符。  
    //    ->IsPolyphone                    获取这个字符是否是多音字。  
    //    ->PinyinCount                    获取这个字符的拼音个数。 
    //    ->StrokeNumber                    获取这个字符的笔画数

    简繁转换

    Nuget 引用 ChineseConverter

    Console.WriteLine("========== 示例:汉字简繁转换 ==========");
    Console.Write("采用简体输入一段话:");
    txt = Console.ReadLine();
    txt = ChineseConverter.Convert(txt, ChineseConversionDirection.SimplifiedToTraditional);
    Console.WriteLine("繁体是:" + txt);
    txt = ChineseConverter.Convert(txt, ChineseConversionDirection.TraditionalToSimplified);
    Console.WriteLine("转换回来简体是:" + txt);

    语音播放

    引用 DotNetSpeech.dll

    Console.WriteLine("========== 示例:汉字转语音 ==========");
    Console.Write("输入一段话:");
    txt = Console.ReadLine();
    var voice = new SpVoice();
    voice.Speak(txt, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);

    语音识别

    知识点:目前大多数还是采用讯飞语音库


    按笔画排序

    string[] arr = { "蓉", "3", "1", "2", "孙", "c", "A", "b", "二愣子" };
    // 笔画数 LCID:0x00020804
    Thread.CurrentThread.CurrentCulture = new CultureInfo(0x20804);
    Array.Sort(arr);
    Console.WriteLine("按笔画排序结果:");
    for (int i = 0; i < arr.Length; i++)
        Console.WriteLine($"[{i}]:	{arr[i]}");

    按拼音排序

    string[] arr = { "蓉", "3", "1", "2", "孙", "c", "A", "b", "二愣子" };
    // 发音 LCID:0x00000804
    Thread.CurrentThread.CurrentCulture = new CultureInfo(0x804);
    Array.Sort(arr);
    Console.WriteLine("按拼音排序结果:");
    for (int i = 0; i < arr.Length; i++)
        Console.WriteLine($"[{i}]:	{arr[i]}");
    
  • 相关阅读:
    lamp一键安装
    mysql忘记密码
    lamp搭建
    进程与线程的一个简单解释
    使用jmeter进行api接口压力测试(转自某位大佬,感谢)
    cookie,session的区别
    Pycharm2019最新激活注册码(亲测有效)
    安装jmeter
    php环境搭建(需编译安装)
    (转载某位大神的,谢谢啦)listener.ora、tnsnames.ora和sqlnet.ora这3个文件的关系和作用
  • 原文地址:https://www.cnblogs.com/yokeqi/p/11895649.html
Copyright © 2011-2022 走看看