当前位置:编程学习 > C#/ASP.NET >>

[分享]ASP.NET获取汉字拼音的首字母

#region GetChineseSpell获取汉字拼音的第一个字母
        //获取汉字拼音的第一个字母
        static public string GetChineseSpell(string strText)
        {
            int len = strText.Length;
            string myStr = "";
            for (int i = 0; i < len; i++)
            {
                myStr += getSpell(strText.Substring(i, 1));
            }
            return myStr;
        }

        static public string[] GetChineseSpell(string[] strText)
        {
            int len = strText.Length;
            string[] myStr = null;
            for (int i = 0; i < len; i++)
            {
                myStr = getSpell(strText);
            }
            return myStr;
        }

        static public string getSpell(string cnChar)
        {
            byte[] arrCN = Encoding.Default.GetBytes(cnChar);
            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 <= code && code < max)
                    {
                        return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });
                    }
                }
                return "*";
            }
            else return cnChar;
        }
        #endregion

原文地址:http://www.netcsharp.cn/showtopic-615.aspx --------------------编程问答-------------------- 顶!!!!!!!!!!!!! --------------------编程问答-------------------- 谢谢 --------------------编程问答-------------------- 学习  --------------------编程问答-------------------- 学习。 --------------------编程问答-------------------- UP!! --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- up --------------------编程问答-------------------- jf --------------------编程问答--------------------

        
--------------------编程问答--------------------

            不错
        
--------------------编程问答--------------------

            收藏
        
--------------------编程问答--------------------

            不错
        
--------------------编程问答--------------------

            谢谢支持!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,