zoukankan      html  css  js  c++  java
  • Netcore 将汉字转化为拼音

    using System;
    using System.Diagnostics;
    using Microsoft.International.Converters.PinYinConverter;
    
    namespace TestPinYin
    {
        namespace NPinyinTest
        {
            class Program
            {
                /// <summary> 
                /// 汉字转化为拼音
                /// </summary> 
                /// <param name="str">汉字</param> 
                /// <returns>全拼</returns> 
                public static string GetPinyin(string str)
                {
                    string r = string.Empty;
                    foreach (char obj in str)
                    {
                        try
                        {
                            ChineseChar chineseChar = new ChineseChar(obj);
                            string t = chineseChar.Pinyins[0].ToString();
                            r += t.Substring(0, t.Length - 1);
                        }
                        catch
                        {
                            r += obj.ToString();
                        }
                    }
                    return r;
                }
    
                /// <summary> 
                /// 汉字转化为拼音首字母
                /// </summary> 
                /// <param name="str">汉字</param> 
                /// <returns>首字母</returns> 
                public static string GetFirstPinyin(string str)
                {
                    string r = string.Empty;
                    foreach (char obj in str)
                    {
                        try
                        {
                            ChineseChar chineseChar = new ChineseChar(obj);
                            string t = chineseChar.Pinyins[0].ToString();
                            r += t.Substring(0, 1);
                        }
                        catch
                        {
                            r += obj.ToString();
                        }
                    }
                    return r;
                }
    
                /// <summary>
                /// 获取字符的第一个单词
                /// </summary>
                /// <param name="str"></param>
                /// <returns></returns>
                public static string GetFirstCode(string str)
                {
                    if (string.IsNullOrEmpty(str))
                        return string.Empty;
    
                    var chararry = str.ToCharArray();
                    try
                    {
                       
                        ChineseChar chineseChar = new ChineseChar(chararry[0]);
                        string t = chineseChar.Pinyins[0].ToString();
                        return t.Substring(0, 1);
                    }
                    catch
                    {
                        return chararry[0].ToString().ToUpper();
                    }
                }
                static void Main(string[] args)
                {
                    Stopwatch sw = new Stopwatch();
                    sw.Start();//开始计时
    
                    string[] maxims = new string[]{
                    "事常与人违,事总在人为",
                    "骏马是跑出来的,强兵是打出来的",
                    "驾驭命运的舵是奋斗。不抱有一丝幻想,不放弃一点机会,不停止一日努力。 ",
                    "如果惧怕前面跌宕的山岩,生命就永远只能是死水一潭",
                    "懦弱的人只会裹足不前,莽撞的人只能引为烧身,只有真正勇敢的人才能所向披靡"
                  };
                    string[] medicines = new string[] {
                     "聚维酮碘溶液",
                     "开塞露",
                     "炉甘石洗剂",
                     "苯扎氯铵贴",
                     "鱼石脂软膏",
                     "莫匹罗星软膏",
                     "红霉素软膏",
                     "氢化可的松软膏",
                     "曲安奈德软膏",
                     "丁苯羟酸乳膏",
                     "双氯芬酸二乙胺乳膏",
                     "冻疮膏",
                     "克霉唑软膏",
                     "特比奈芬软膏",
                     "酞丁安软膏",
                     "咪康唑软膏、栓剂",
                     "甲硝唑栓",
                     "复方莪术油栓"
                   };
    
                    Console.WriteLine("UTF8句子拼音:");
                    foreach (string s in maxims)
                    {
                        Console.WriteLine("汉字:{0}
    拼音:{1}
    ", s, GetPinyin(s));
                    }
    
                    Console.WriteLine("GB2312拼音简码:");
                    foreach (string m in medicines)
                    {
                        Console.WriteLine("药品:{0}
    简码:{1}
    ", m, GetFirstPinyin(m));
                        Console.WriteLine("药品:{0}
    首字母:{1}
    ", m, GetFirstCode(m));
                    }
                    sw.Stop();//结束计时
                    Console.WriteLine("执行耗时:" + sw.Elapsed);
                    Console.ReadKey();
                }
            }
        }
    }
    

      

  • 相关阅读:
    最近的3个困惑:信守承诺、技术产品先行还是市场销售先行、客户从哪来
    最近的3个困惑:信守承诺、技术产品先行还是市场销售先行、客户从哪来
    详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
    详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
    2015年工作中遇到的问题:21-30(这10个问题很有价值)
    使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库
    C4C和Outlook的集成
    Hybris开发环境的license计算实现
    CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
    CRM WebUI and Hybris的Product页面标题实现
  • 原文地址:https://www.cnblogs.com/chongyao/p/12700906.html
Copyright © 2011-2022 走看看