zoukankan      html  css  js  c++  java
  • ASP.NET Core使用微软官方类库实现汉字转拼音

    一、NuGet包

    拼音:Install-Package PinYinConverterCore

    简体-繁体互转:Install-Package TraditionalChineseToSimplifiedConverter

    二、C#代码

        class Program
        {
         
            static void Main(string[] args)
            {
    
                string Name= "刘大大";
    
                Console.WriteLine($"{Name}
    全拼:{GetPinyin(Name)},
    首拼:{GetFirstPinyin(Name)},
    繁体字:{GetTraditional(Name)},
    简体字:{GetSimplified(GetTraditional(Name))}");
    
    
                Console.ReadKey();
            }
    
            
    
            /// <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 GetTraditional(string str)
            {
                string r = string.Empty;
                r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);
                return r;
            }
            /// <summary> 
            /// 繁体转换为简体
            /// </summary> 
            /// <param name="str">繁体字</param> 
            /// <returns>简体字</returns> 
            public static string GetSimplified(string str)
            {
                string r = string.Empty;
                r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);
                return r;
            }
    
            #endregion
    
        }
    }
    View Code

     运行结果

  • 相关阅读:
    【书上讲解】平面上最近点对问题
    【书上讲解】快速排序
    【书上讲解】归并排序的非递归写法
    【例题 2-6】汉诺塔问题
    汉诺塔问题详解
    【例题2-5】整数的划分
    【例题2-4】排列问题
    【1-5】最大间隙问题
    【1-4】金币阵列问题
    【1-2】字典序问题
  • 原文地址:https://www.cnblogs.com/lwc1st/p/9045382.html
Copyright © 2011-2022 走看看