zoukankan      html  css  js  c++  java
  • C# 获取汉字的拼音首字母

    扩展方法:

        public static class Spell
        {
            /// <summary>
            /// 获取汉字字符串的拼音首字母
            /// </summary>
            /// <param name="str">字符串</param>
            /// <returns></returns>
            public static string GetSpell(this string str)
            {
                string result = string.Empty;
                str.ForEach(x => result += GetOne(x.ToString()));
                return result;
            }
    
            /// <summary>
            ///  获取单个汉字的首拼音
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            private static string GetOne(string str)
            {
                byte[] arrCN = Encoding.Default.GetBytes(str);
                if (arrCN.Length > 1)
                {
                    int area = (short)arrCN[0];
                    int pos = (short)arrCN[1];
                    int code = (area << 8) + pos;
                    int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };
                    for (int i = 0; i < 26; i++)
                    {
                        int max = 55290;
                        if (i != 25) max = areacode[i + 1];
                        if (areacode[i] <= code && code < max)
                        {
                            return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
                        }
                    }
                    return "_";
                }
                else return str;
            }
        }
    
    

    调用结果

    string value = "五维思考";
    Console.WriteLine($"{value}({ value.GetSpell()})");
    Console.Read();
    
    //结果:五维思考(WWSK)
    
  • 相关阅读:
    使用pd从数据库逆向生成pdm文件
    js中的this指向
    js中的深浅拷贝
    使用eclipse遇到问题:the-package-collides-with-a-type
    电脑环境设置
    VIP
    win7操作技巧
    遍历Map的四种方法
    win7下安装tomcat
    Eclipse下快速打开本地文件的插件easy explore
  • 原文地址:https://www.cnblogs.com/zhaoshujie/p/15484354.html
Copyright © 2011-2022 走看看