公用方法:得到汉字的首字母(大写) 方案3

        #region ### 得到首字母 方案3
        //要转换的汉字字符串  返回:拼音缩写
        public static string GetPYFirstChar(string str)
        {
            string pyStr = "";
            foreach (char c in str)
            {
                if ((int)c >= 32 && (int)c <= 126) pyStr += c; //字母和符号原样保留
                else if ((int)c > 126) pyStr += GetGbkChar(c.ToString()); //累加拼音声母
            }
            return pyStr;
        }

        /// <summary>
        /// 获取首拼音
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private static string GetGbkChar(string str)
        {

            if (str.CompareTo("吖") >= 0 && (str.CompareTo("鏊") <= 0)) return "A";
            else if (str.CompareTo("八") >= 0 && (str.CompareTo("簿") <= 0)) return "B";
            else if (str.CompareTo("嚓") >= 0 && (str.CompareTo("错") <= 0)) return "C";
            else if (str.CompareTo("哒") >= 0 && (str.CompareTo("跺") <= 0)) return "D";
            else if (str.CompareTo("屙") >= 0 && (str.CompareTo("贰") <= 0)) return "E";
            else if (str.CompareTo("发") >= 0 && (str.CompareTo("馥") <= 0)) return "F";
            else if (str.CompareTo("旮") >= 0 && (str.CompareTo("过") <= 0)) return "G";
            else if (str.CompareTo("铪") >= 0 && (str.CompareTo("蠖") <= 0)) return "H";
            else if (str.CompareTo("丌") >= 0 && (str.CompareTo("竣") <= 0)) return "J";
            else if (str.CompareTo("咔") >= 0 && (str.CompareTo("廓") <= 0)) return "K";
            else if (str.CompareTo("垃") >= 0 && (str.CompareTo("雒") <= 0)) return "L";
            else if (str.CompareTo("妈") >= 0 && (str.CompareTo("穆") <= 0)) return "M";
            else if (str.CompareTo("拿") >= 0 && (str.CompareTo("糯") <= 0)) return "N";
            else if (str.CompareTo("噢") >= 0 && (str.CompareTo("沤") <= 0)) return "O";
            else if (str.CompareTo("趴") >= 0 && (str.CompareTo("曝") <= 0)) return "P";
            else if (str.CompareTo("七") >= 0 && (str.CompareTo("群") <= 0)) return "Q";
            else if (str.CompareTo("蚺") >= 0 && (str.CompareTo("箬") <= 0)) return "R";
            else if (str.CompareTo("仨") >= 0 && (str.CompareTo("锁") <= 0)) return "S";
            else if (str.CompareTo("他") >= 0 && (str.CompareTo("箨") <= 0)) return "T";
            else if (str.CompareTo("哇") >= 0 && (str.CompareTo("鋈") <= 0)) return "W";
            else if (str.CompareTo("夕") >= 0 && (str.CompareTo("蕈") <= 0)) return "X";
            else if (str.CompareTo("丫") >= 0 && (str.CompareTo("蕴") <= 0)) return "Y";
            else if (str.CompareTo("匝") >= 0 && (str.CompareTo("做") <= 0)) return "Z";

            //return str; 
            return  GetPYChar(str[0]); 
        }

        #endregion


使用方法:

  string ss = MyPinYin2.GetPYFirstChar("沱潼蜻蜓麒麟圳"); // TTQTQLZ
  string ss2 = MyPinYin2.GetPYFirstChar("蜻麒 生活的七色板 我a*%爱你中国沱牌曲酒 南方小康指数ETF"); // QQ SHDQSB Ua*%ANZGTPQJ NFXKZSETF

说明:如果仅使用方案3,针对 “草擦曹”等字还是找不出声母; 所以 先使用方案3,如果还是找不出声母时,再使用 方案1中的private static string GetPYChar(char c)  方法 (http://blog.csdn.net/keenweiwei/article/details/8894576). 这样会比较好。


          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值