获取字符串中的汉字拼音首字母(根据 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 && Convert.ToChar(OneIndexTxt)<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 >= 1601 && GBCode < 1637)return "A";
21if(GBCode >= 1637 && GBCode < 1833)return "B";
22if(GBCode >= 1833 && GBCode < 2078)return "C";
23if(GBCode >= 2078 && GBCode < 2274)return "D";
24if(GBCode >= 2274 && GBCode < 2302)return "E";
25if(GBCode >= 2302 && GBCode < 2433)return "F";
26if(GBCode >= 2433 && GBCode < 2594)return "G";
27if(GBCode >= 2594 && GBCode < 2787)return "H";
28if(GBCode >= 2787 && GBCode < 3106)return "J";
29if(GBCode >= 3106 && GBCode < 3212)return "K";
30if(GBCode >= 3212 && GBCode < 3472)return "L";
31if(GBCode >= 3472 && GBCode < 3635)return "M";
32if(GBCode >= 3635 && GBCode < 3722)return "N";
33if(GBCode >= 3722 && GBCode < 3730)return "O";
34if(GBCode >= 3730 && GBCode < 3858)return "P";
35if(GBCode >= 3858 && GBCode < 4027)return "Q";
36if(GBCode >= 4027 && GBCode < 4086)return "R";
37if(GBCode >= 4086 && GBCode < 4390)return "S";
38if(GBCode >= 4390 && GBCode < 4558)return "T";
39if(GBCode >= 4558 && GBCode < 4684)return "W";
40if(GBCode >= 4684 && GBCode < 4925)return "X";
41if(GBCode >= 4925 && GBCode < 5249)return "Y";
42if(GBCode >= 5249 && GBCode <= 5589)return "Z";
43if(GBCode >= 5601 && GBCode <= 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++)>