获得汉字字符串拼音首字母 C#版

获取字符串中的汉字拼音首字母(根据 http://blog.csdn.net/iwebsms/archive/2004/09/28/119851.aspx 修改)

可能代码比较臃肿,希望有朋友再帮忙改正

//返回给定字符串的首字母
private String IndexCode(String IndexTxt)
{
String _Temp=null;
for(int i=0;i

 1<indextxt.length;i++) );="" +="" _temp="_Temp" _temp;="" getoneindex(="" getoneindex(string="" if(convert.tochar(oneindextxt)="" indextxt.substring(i,1)="" oneindextxt)="" private="" return="" string="" {="" }="" 得到单个字符的首字母="">=0 &amp;&amp; Convert.ToChar(OneIndexTxt)&lt;256)   
 2return OneIndexTxt;   
 3else   
 4{   
 5Encoding gb2312 = Encoding.GetEncoding("gb2312");   
 6byte[] unicodeBytes = Encoding.Unicode.GetBytes(OneIndexTxt);   
 7byte[] gb2312Bytes = Encoding.Convert(Encoding.Unicode, gb2312, unicodeBytes);   
 8return GetX(Convert.ToInt32(   
 9String.Format("{0:D2}",Convert.ToInt16(gb2312Bytes[0])-160)   
10\+ String.Format("{0:D2}",Convert.ToInt16(gb2312Bytes[1])-160)   
11));   
12}   
13  
14}   
15
16
17//根据区位得到首字母   
18private String GetX(int GBCode)   
19{   
20if(GBCode &gt;= 1601 &amp;&amp; GBCode &lt; 1637)return "A";   
21if(GBCode &gt;= 1637 &amp;&amp; GBCode &lt; 1833)return "B";   
22if(GBCode &gt;= 1833 &amp;&amp; GBCode &lt; 2078)return "C";   
23if(GBCode &gt;= 2078 &amp;&amp; GBCode &lt; 2274)return "D";   
24if(GBCode &gt;= 2274 &amp;&amp; GBCode &lt; 2302)return "E";   
25if(GBCode &gt;= 2302 &amp;&amp; GBCode &lt; 2433)return "F";   
26if(GBCode &gt;= 2433 &amp;&amp; GBCode &lt; 2594)return "G";   
27if(GBCode &gt;= 2594 &amp;&amp; GBCode &lt; 2787)return "H";   
28if(GBCode &gt;= 2787 &amp;&amp; GBCode &lt; 3106)return "J";   
29if(GBCode &gt;= 3106 &amp;&amp; GBCode &lt; 3212)return "K";   
30if(GBCode &gt;= 3212 &amp;&amp; GBCode &lt; 3472)return "L";   
31if(GBCode &gt;= 3472 &amp;&amp; GBCode &lt; 3635)return "M";   
32if(GBCode &gt;= 3635 &amp;&amp; GBCode &lt; 3722)return "N";   
33if(GBCode &gt;= 3722 &amp;&amp; GBCode &lt; 3730)return "O";   
34if(GBCode &gt;= 3730 &amp;&amp; GBCode &lt; 3858)return "P";   
35if(GBCode &gt;= 3858 &amp;&amp; GBCode &lt; 4027)return "Q";   
36if(GBCode &gt;= 4027 &amp;&amp; GBCode &lt; 4086)return "R";   
37if(GBCode &gt;= 4086 &amp;&amp; GBCode &lt; 4390)return "S";   
38if(GBCode &gt;= 4390 &amp;&amp; GBCode &lt; 4558)return "T";   
39if(GBCode &gt;= 4558 &amp;&amp; GBCode &lt; 4684)return "W";   
40if(GBCode &gt;= 4684 &amp;&amp; GBCode &lt; 4925)return "X";   
41if(GBCode &gt;= 4925 &amp;&amp; GBCode &lt; 5249)return "Y";   
42if(GBCode &gt;= 5249 &amp;&amp; GBCode &lt;= 5589)return "Z";   
43if(GBCode &gt;= 5601 &amp;&amp; GBCode &lt;= 8794)   
44{   
45String CodeData = "cjwgnspgcenegypbtwxzdxykygtpjnmjqmbsgzscyjsyyfpggbzgydywjkgaljswkbjqhyjwpdzlsgmr"   
46\+ "ybywwccgznkydgttngjeyekzydcjnmcylqlypyqbqrpzslwbdgkjfyxjwcltbncxjjjjcxdtqsqzycdxxhgckbphffss"   
47\+ "pybgmxjbbyglbhlssmzmpjhsojnghdzcdklgjhsgqzhxqgkezzwymcscjnyetxadzpmdssmzjjqjyzcjjfwqjbdzbjgd"   
48\+ "nzcbwhgxhqkmwfbpbqdtjjzkqhylcgxfptyjyyzpsjlfchmqshgmmxsxjpkdcmbbqbefsjwhwwgckpylqbgldlcctnma"   
49\+ "eddksjngkcsgxlhzaybdbtsdkdylhgymylcxpycjndqjwxqxfyyfjlejbzrwccqhqcsbzkymgplbmcrqcflnymyqmsqt"   
50\+ "rbcjthztqfrxchxmcjcjlxqgjmshzkbswxemdlckfsydsglycjjssjnqbjctyhbftdcyjdgwyghqfrxwckqkxebpdjpx"   
51\+ "jqsrmebwgjlbjslyysmdxlclqkxlhtjrjjmbjhxhwywcbhtrxxglhjhfbmgykldyxzpplggpmtcbbajjzyljtyanjgbj"   
52\+ "flqgdzyqcaxbkclecjsznslyzhlxlzcghbxzhznytdsbcjkdlzayffydlabbgqszkggldndnyskjshdlxxbcghxyggdj"   
53\+ "mmzngmmccgwzszxsjbznmlzdthcqydbdllscddnlkjyhjsycjlkohqasdhnhcsgaehdaashtcplcpqybsdmpjlpcjaql"   
54\+ "cdhjjasprchngjnlhlyyqyhwzpnccgwwmzffjqqqqxxaclbhkdjxdgmmydjxzllsygxgkjrywzwyclzmcsjzldbndcfc"   
55\+ "xyhlschycjqppqagmnyxpfrkssbjlyxyjjglnscmhcwwmnzjjlhmhchsyppttxrycsxbyhcsmxjsxnbwgpxxtaybgajc"   
56\+ "xlypdccwqocwkccsbnhcpdyznbcyytyckskybsqkkytqqxfcwchcwkelcqbsqyjqcclmthsywhmktlkjlychwheqjhtj"   
57\+ "hppqpqscfymmcmgbmhglgsllysdllljpchmjhwljcyhzjxhdxjlhxrswlwzjcbxmhzqxsdzpmgfcsglsdymjshxpjxom"   
58\+ "yqknmyblrthbcftpmgyxlchlhlzylxgsssscclsldclepbhshxyyfhbmgdfycnjqwlqhjjcywjztejjdhfblqxtqkwhd"   
59\+ "chqxagtlxljxmsljhdzkzjecxjcjnmbbjcsfywkbjzghysdcpqyrsljpclpwxsdwejbjcbcnaytmgmbapclyqbclzxcb"   
60\+ "nmsggfnzjjbzsfqyndxhpcqkzczwalsbccjxpozgwkybsgxfcfcdkhjbstlqfsgdslqwzkxtmhsbgzhjcrglyjbpmljs"   
61\+ "xlcjqqhzmjczydjwbmjklddpmjegxyhylxhlqyqhkycwcjmyhxnatjhyccxzpcqlbzwwwtwbqcmlbmynjcccxbbsnzzl"   
62\+ "jpljxyztzlgcldcklyrzzgqtgjhhgjljaxfgfjzslcfdqzlclgjdjcsnclljpjqdcclcjxmyzftsxgcgsbrzxjqqcczh"   
63\+ "gyjdjqqlzxjyldlbcyamcstylbdjbyregklzdzhldszchznwczcllwjqjjjkdgjcolbbzppglghtgzcygezmycnqcycy"   
64\+ "hbhgxkamtxyxnbskyzzgjzlqjdfcjxdygjqjjpmgwgjjjpkjsbgbmmcjssclpqpdxcdyykypcjddyygywchjrtgcnyql"   
65\+ "dkljczzgzccjgdyksgpzmdlcphnjafyzdjcnmwescsglbtzcgmsdllyxqsxsbljsbbsgghfjlwpmzjnlyywdqshzxtyy"   
66\+ "whmcyhywdbxbtlmswyyfsbjcbdxxlhjhfpsxzqhfzmqcztqcxzxrdkdjhnnyzqqfnqdmmgnydxmjgdhcdycbffallztd"   
67\+ "ltfkmxqzdngeqdbdczjdxbzgsqqddjcmbkxffxmkdmcsychzcmljdjynhprsjmkmpcklgdbqtfzswtfgglyplljzhgjj"   
68\+ "gypzltcsmcnbtjbhfkdhbyzgkpbbymtdlsxsbnpdkleycjnycdykzddhqgsdzsctarlltkzlgecllkjljjaqnbdggghf"   
69\+ "jtzqjsecshalqfmmgjnlyjbbtmlycxdcjpldlpcqdhsycbzsckbzmsljflhrbjsnbrgjhxpdgdjybzgdlgcsezgxlblg"   
70\+ "yxtwmabchecmwyjyzlljjshlgndjlslygkdzpzxjyyzlpcxszfgwyydlyhcljscmbjhblyjlycblydpdqysxktbytdkd"   
71\+ "xjypcnrjmfdjgklccjbctbjddbblblcdqrppxjcglzcshltoljnmdddlngkaqakgjgyhheznmshrphqqjchgmfprxcjg"   
72\+ "dychghlyrzqlcngjnzsqdkqjymszswlcfqjqxgbggxmdjwlmcrnfkkfsyyljbmqammmycctbshcptxxzzsmphfshmclm"   
73\+ "ldjfyqxsdyjdjjzzhqpdszglssjbckbxyqzjsgpsxjzqznqtbdkwxjkhhgflbcsmdldgdzdblzkycqnncsybzbfglzzx"   
74\+ "swmsccmqnjqsbdqsjtxxmbldxcclzshzcxrqjgjylxzfjphymzqqydfqjjlcznzjcdgzygcdxmzysctlkphtxhtlbjxj"   
75\+ "lxscdqccbbqjfqzfsltjbtkqbsxjjljchczdbzjdczjccprnlqcgpfczlclcxzdmxmphgsgzgszzqjxlwtjpfsyaslcj"   
76\+ "btckwcwmytcsjjljcqlwzmalbxyfbpnlschtgjwejjxxglljstgshjqlzfkcgnndszfdeqfhbsaqdgylbxmmygszldyd"   
77\+ "jmjjrgbjgkgdhgkblgkbdmbylxwcxyttybkmrjjzxqjbhlmhmjjzmqasldcyxyqdlqcafywyxqhz";   
78String _gbcode = GBCode.ToString();   
79int pos = (Convert.ToInt16(_gbcode.Substring(0,2))-56)*94+Convert.ToInt16(_gbcode.Substring(_gbcode.Length-2,2));   
80return CodeData.Substring(pos-1,1);   
81}   
82return " ";   
83}</indextxt.length;i++)>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus