zoukankan      html  css  js  c++  java
  • 取汉字字串的首字母

    获取字符串中的汉字拼音首字母

    (根据http://blog.csdn.net/iwebsms/archive/2004/09/28/119851.aspx修改)

      1public class CLetter
      2{
      3    private string _string;
      4    public CLetter(string IndexTxt)
      5    {
      6        _string = string.Empty;
      7        if (IndexTxt.Length == 0return;
      8        _string = IndexCode(IndexTxt);
      9    }

     10    public string FirtLetters
     11    {
     12        get return _string; }
     13    }

     14    //返回给定字符串的首字母
     15    private String IndexCode(string IndexTxt)
     16    {
     17        String _Temp = null;
     18        for (int i = 0; i < IndexTxt.Length; i++)
     19            _Temp = _Temp + GetOneIndex(IndexTxt.Substring(i, 1));
     20        return _Temp;
     21    }

     22
     23    //得到单个字符的首字母
     24    private String GetOneIndex(String OneIndexTxt)
     25    {
     26        if (Convert.ToChar(OneIndexTxt) >= 0 && Convert.ToChar(OneIndexTxt) < 256)
     27            return OneIndexTxt;
     28        else
     29        {
     30            Encoding gb2312 = Encoding.GetEncoding("gb2312");
     31            byte[] unicodeBytes = Encoding.Unicode.GetBytes(OneIndexTxt);
     32            byte[] gb2312Bytes = Encoding.Convert(Encoding.Unicode, gb2312, unicodeBytes);
     33            return GetX(Convert.ToInt32(String.Format("{0:D2}", Convert.ToInt16(gb2312Bytes[0]) - 160)
     34                         + String.Format("{0:D2}", Convert.ToInt16(gb2312Bytes[1]) - 160)));
     35        }

     36    }

     37
     38    //根据区位得到首字母
     39    private String GetX(int GBCode)
     40    {
     41        if (GBCode >= 1601 && GBCode < 1637return "A";
     42        if (GBCode >= 1637 && GBCode < 1833return "B";
     43        if (GBCode >= 1833 && GBCode < 2078return "C";
     44        if (GBCode >= 2078 && GBCode < 2274return "D";
     45        if (GBCode >= 2274 && GBCode < 2302return "E";
     46        if (GBCode >= 2302 && GBCode < 2433return "F";
     47        if (GBCode >= 2433 && GBCode < 2594return "G";
     48        if (GBCode >= 2594 && GBCode < 2787return "H";
     49        if (GBCode >= 2787 && GBCode < 3106return "J";
     50        if (GBCode >= 3106 && GBCode < 3212return "K";
     51        if (GBCode >= 3212 && GBCode < 3472return "L";
     52        if (GBCode >= 3472 && GBCode < 3635return "M";
     53        if (GBCode >= 3635 && GBCode < 3722return "N";
     54        if (GBCode >= 3722 && GBCode < 3730return "O";
     55        if (GBCode >= 3730 && GBCode < 3858return "P";
     56        if (GBCode >= 3858 && GBCode < 4027return "Q";
     57        if (GBCode >= 4027 && GBCode < 4086return "R";
     58        if (GBCode >= 4086 && GBCode < 4390return "S";
     59        if (GBCode >= 4390 && GBCode < 4558return "T";
     60        if (GBCode >= 4558 && GBCode < 4684return "W";
     61        if (GBCode >= 4684 && GBCode < 4925return "X";
     62        if (GBCode >= 4925 && GBCode < 5249return "Y";
     63        if (GBCode >= 5249 && GBCode <= 5589return "Z";
     64        if (GBCode >= 5601 && GBCode <= 8794)
     65        {
     66            String CodeData = "cjwgnspgcenegypbtwxzdxykygtpjnmjqmbsgzscyjsyyfpggbzgydywjkgaljswkbjqhyjwpdzlsgmr"
     67             + "ybywwccgznkydgttngjeyekzydcjnmcylqlypyqbqrpzslwbdgkjfyxjwcltbncxjjjjcxdtqsqzycdxxhgckbphffss"
     68             + "pybgmxjbbyglbhlssmzmpjhsojnghdzcdklgjhsgqzhxqgkezzwymcscjnyetxadzpmdssmzjjqjyzcjjfwqjbdzbjgd"
     69             + "nzcbwhgxhqkmwfbpbqdtjjzkqhylcgxfptyjyyzpsjlfchmqshgmmxsxjpkdcmbbqbefsjwhwwgckpylqbgldlcctnma"
     70             + "eddksjngkcsgxlhzaybdbtsdkdylhgymylcxpycjndqjwxqxfyyfjlejbzrwccqhqcsbzkymgplbmcrqcflnymyqmsqt"
     71             + "rbcjthztqfrxchxmcjcjlxqgjmshzkbswxemdlckfsydsglycjjssjnqbjctyhbftdcyjdgwyghqfrxwckqkxebpdjpx"
     72             + "jqsrmebwgjlbjslyysmdxlclqkxlhtjrjjmbjhxhwywcbhtrxxglhjhfbmgykldyxzpplggpmtcbbajjzyljtyanjgbj"
     73             + "flqgdzyqcaxbkclecjsznslyzhlxlzcghbxzhznytdsbcjkdlzayffydlabbgqszkggldndnyskjshdlxxbcghxyggdj"
     74             + "mmzngmmccgwzszxsjbznmlzdthcqydbdllscddnlkjyhjsycjlkohqasdhnhcsgaehdaashtcplcpqybsdmpjlpcjaql"
     75             + "cdhjjasprchngjnlhlyyqyhwzpnccgwwmzffjqqqqxxaclbhkdjxdgmmydjxzllsygxgkjrywzwyclzmcsjzldbndcfc"
     76             + "xyhlschycjqppqagmnyxpfrkssbjlyxyjjglnscmhcwwmnzjjlhmhchsyppttxrycsxbyhcsmxjsxnbwgpxxtaybgajc"
     77             + "xlypdccwqocwkccsbnhcpdyznbcyytyckskybsqkkytqqxfcwchcwkelcqbsqyjqcclmthsywhmktlkjlychwheqjhtj"
     78             + "hppqpqscfymmcmgbmhglgsllysdllljpchmjhwljcyhzjxhdxjlhxrswlwzjcbxmhzqxsdzpmgfcsglsdymjshxpjxom"
     79             + "yqknmyblrthbcftpmgyxlchlhlzylxgsssscclsldclepbhshxyyfhbmgdfycnjqwlqhjjcywjztejjdhfblqxtqkwhd"
     80             + "chqxagtlxljxmsljhdzkzjecxjcjnmbbjcsfywkbjzghysdcpqyrsljpclpwxsdwejbjcbcnaytmgmbapclyqbclzxcb"
     81             + "nmsggfnzjjbzsfqyndxhpcqkzczwalsbccjxpozgwkybsgxfcfcdkhjbstlqfsgdslqwzkxtmhsbgzhjcrglyjbpmljs"
     82             + "xlcjqqhzmjczydjwbmjklddpmjegxyhylxhlqyqhkycwcjmyhxnatjhyccxzpcqlbzwwwtwbqcmlbmynjcccxbbsnzzl"
     83             + "jpljxyztzlgcldcklyrzzgqtgjhhgjljaxfgfjzslcfdqzlclgjdjcsnclljpjqdcclcjxmyzftsxgcgsbrzxjqqcczh"
     84             + "gyjdjqqlzxjyldlbcyamcstylbdjbyregklzdzhldszchznwczcllwjqjjjkdgjcolbbzppglghtgzcygezmycnqcycy"
     85             + "hbhgxkamtxyxnbskyzzgjzlqjdfcjxdygjqjjpmgwgjjjpkjsbgbmmcjssclpqpdxcdyykypcjddyygywchjrtgcnyql"
     86             + "dkljczzgzccjgdyksgpzmdlcphnjafyzdjcnmwescsglbtzcgmsdllyxqsxsbljsbbsgghfjlwpmzjnlyywdqshzxtyy"
     87             + "whmcyhywdbxbtlmswyyfsbjcbdxxlhjhfpsxzqhfzmqcztqcxzxrdkdjhnnyzqqfnqdmmgnydxmjgdhcdycbffallztd"
     88             + "ltfkmxqzdngeqdbdczjdxbzgsqqddjcmbkxffxmkdmcsychzcmljdjynhprsjmkmpcklgdbqtfzswtfgglyplljzhgjj"
     89             + "gypzltcsmcnbtjbhfkdhbyzgkpbbymtdlsxsbnpdkleycjnycdykzddhqgsdzsctarlltkzlgecllkjljjaqnbdggghf"
     90             + "jtzqjsecshalqfmmgjnlyjbbtmlycxdcjpldlpcqdhsycbzsckbzmsljflhrbjsnbrgjhxpdgdjybzgdlgcsezgxlblg"
     91             + "yxtwmabchecmwyjyzlljjshlgndjlslygkdzpzxjyyzlpcxszfgwyydlyhcljscmbjhblyjlycblydpdqysxktbytdkd"
     92             + "xjypcnrjmfdjgklccjbctbjddbblblcdqrppxjcglzcshltoljnmdddlngkaqakgjgyhheznmshrphqqjchgmfprxcjg"
     93             + "dychghlyrzqlcngjnzsqdkqjymszswlcfqjqxgbggxmdjwlmcrnfkkfsyyljbmqammmycctbshcptxxzzsmphfshmclm"
     94             + "ldjfyqxsdyjdjjzzhqpdszglssjbckbxyqzjsgpsxjzqznqtbdkwxjkhhgflbcsmdldgdzdblzkycqnncsybzbfglzzx"
     95             + "swmsccmqnjqsbdqsjtxxmbldxcclzshzcxrqjgjylxzfjphymzqqydfqjjlcznzjcdgzygcdxmzysctlkphtxhtlbjxj"
     96             + "lxscdqccbbqjfqzfsltjbtkqbsxjjljchczdbzjdczjccprnlqcgpfczlclcxzdmxmphgsgzgszzqjxlwtjpfsyaslcj"
     97             + "btckwcwmytcsjjljcqlwzmalbxyfbpnlschtgjwejjxxglljstgshjqlzfkcgnndszfdeqfhbsaqdgylbxmmygszldyd"
     98             + "jmjjrgbjgkgdhgkblgkbdmbylxwcxyttybkmrjjzxqjbhlmhmjjzmqasldcyxyqdlqcafywyxqhz";
     99            String _gbcode = GBCode.ToString();
    100            int pos = (Convert.ToInt16(_gbcode.Substring(02)) - 56* 94 + Convert.ToInt16(_gbcode.Substring(_gbcode.Length - 22));
    101            return CodeData.Substring(pos - 11);
    102        }

    103        return " ";
    104    }

    105}

    使用:

    CLetter pLetter = new CLetter(“测试”);
    MessageBox.Show(pLetter.FirtLetters);

  • 相关阅读:
    设计模式之单例模式
    设计模式之组合模式
    SVN搭建简单教程
    添加Silverlight应用到HTML
    动态修改配置文件
    Ajax
    jQuery 事件方法
    Java和JavaScript对账户实现掩码并四个一组分隔
    一种简单实现当前时间是否在工作时间内的方法
    Postman接口自动化测试实例用到的完整的SM2前端加密算法代码
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1377174.html
Copyright © 2011-2022 走看看