c#回去字符串的首写字母

例如,stringstr="世界杯";我想得到stringstrp="SJB";... 例如,string str="世界杯"; 我想得到 string strp="SJB"; 展开
 我来答
子丶夜
2014-07-14 · TA获得超过397个赞
知道小有建树答主
回答量:326
采纳率:25%
帮助的人:223万
展开全部
/// <summary> 
        /// 返回字符串的首写字母字符串 
        /// </summary> 
        /// <param name="IndexTxt">需得到首写字母的字符串</param> 
        /// <returns></returns> 
        public static String UtilIndexCode(String IndexTxt)
        {
            string _Temp = null;
            for (int i = 0; i < IndexTxt.Length; i++)
                _Temp = _Temp + GetOneIndex(IndexTxt.Substring(i, 1));
            return _Temp;
        }
        /// <summary> 
        /// 返回字符串的首写汉字的字母字符串 
        /// </summary> 
        /// <param name="IndexTxt">需得到首写字母的字符串</param> 
        /// <returns></returns> 
        public static String UtilOneIndexCode(String IndexTxt)
        {
            string _Temp = null;
            _Temp = _Temp + GetOneIndex(IndexTxt.Substring(0, 1));
            return _Temp;
        }
        //得到单个字符的首字母 
        private static String GetOneIndex(String OneIndexTxt)
        {
            if (Convert.ToChar(OneIndexTxt) >= 0 && Convert.ToChar(OneIndexTxt) < 256)
                return OneIndexTxt;
            else
                return GetGbkX(OneIndexTxt);
        }

        //根据汉字拼音排序得到首字母 
        private static string GetGbkX(string str)
        {
            if (str.CompareTo("吖") < 0)
            {
                return str;
            }
            if (str.CompareTo("八") < 0)
            {
                return "A";
            }

            if (str.CompareTo("嚓") < 0)
            {
                return "B";
            }

            if (str.CompareTo("咑") < 0)
            {
                return "C";
            }
            if (str.CompareTo("妸") < 0)
            {
                return "D";
            }
            if (str.CompareTo("发") < 0)
            {
                return "E";
            }
            if (str.CompareTo("旮") < 0)
            {
                return "F";
            }
            if (str.CompareTo("铪") < 0)
            {
                return "G";
            }
            if (str.CompareTo("讥") < 0)
            {
                return "H";
            }
            if (str.CompareTo("咔") < 0)
            {
                return "J";
            }
            if (str.CompareTo("垃") < 0)
            {
                return "K";
            }
            if (str.CompareTo("呒") < 0)
            {
                return "L";
            }
            if (str.CompareTo("拏") < 0)
            {
                return "M";
            }
            if (str.CompareTo("噢") < 0)
            {
                return "N";
            }
            if (str.CompareTo("妑") < 0)
            {
                return "O";
            }
            if (str.CompareTo("七") < 0)
            {
                return "P";
            }
            if (str.CompareTo("亽") < 0)
            {
                return "Q";
            }
            if (str.CompareTo("仨") < 0)
            {
                return "R";
            }
            if (str.CompareTo("他") < 0)
            {
                return "S";
            }
            if (str.CompareTo("哇") < 0)
            {
                return "T";
            }
            if (str.CompareTo("夕") < 0)
            {
                return "W";
            }
            if (str.CompareTo("丫") < 0)
            {
                return "X";
            }
            if (str.CompareTo("帀") < 0)
            {
                return "Y";
            }
            if (str.CompareTo("咗") < 0)
            {
                return "Z";
            }
            return str;
        }
追问
M开头的中文会转换成L??   Q开头的会转换成R?  该怎么修改判断条件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式