C#下提取汉字首字的拼音首字母,但是不兼容英文与数字;高手帮忙,马上结贴了
解决方案 »
- 怎样可以知道dataGridView新增了行,因为我想动态增加行索引
- 请将下面的js代码转换成asp.net
- embed控件中的flash无法显示是怎么回事?
- 如何向文件的任意位置插入内容
- C#中调用VC控件含有Variant类型参数的函数的问题。紧急求助!!!
- 请问,刷网站流量的原理是什么,在c#中怎么实现?
- 为什么加入 using Excel 后编译出错?
- 对于有提示框的代码,大家是如何做单元测试的?
- System.Drawing.Color和OLE_COLOR如何转换
- 谁有DevExpress11.1.8的安装包啊,急求安装包。
- oracle下导表的问题
- 急,急,条件表达式后怎么带变量??
43 ...{
44 char pinyin;
45 byte[] array;
46 System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length);
47 foreach (char c in text)
48 ...{
49 pinyin = c;
50 array = System.Text.Encoding.Default.GetBytes(new char[] ...{ c });
51
52 if (array.Length == 2)
53 ...{
54 int i = array[0] * 0x100 + array[1];
55
56 if (i < 0xB0A1) pinyin = c;
57 else
58 if (i < 0xB0C5) pinyin = 'a';
59 else
60 if (i < 0xB2C1) pinyin = 'b';
61 else
62 if (i < 0xB4EE) pinyin = 'c';
63 else
64 if (i < 0xB6EA) pinyin = 'd';
65 else
66 if (i < 0xB7A2) pinyin = 'e';
67 else
68 if (i < 0xB8C1) pinyin = 'f';
69 else
70 if (i < 0xB9FE) pinyin = 'g';
71 else
72 if (i < 0xBBF7) pinyin = 'h';
73 else
74 if (i < 0xBFA6) pinyin = 'g';
75 else
76 if (i < 0xC0AC) pinyin = 'k';
77 else
78 if (i < 0xC2E8) pinyin = 'l';
79 else
80 if (i < 0xC4C3) pinyin = 'm';
81 else
82 if (i < 0xC5B6) pinyin = 'n';
83 else
84 if (i < 0xC5BE) pinyin = 'o';
85 else
86 if (i < 0xC6DA) pinyin = 'p';
87 else
88 if (i < 0xC8BB) pinyin = 'q';
89 else
90 if (i < 0xC8F6) pinyin = 'r';
91 else
92 if (i < 0xCBFA) pinyin = 's';
93 else
94 if (i < 0xCDDA) pinyin = 't';
95 else
96 if (i < 0xCEF4) pinyin = 'w';
97 else
98 if (i < 0xD1B9) pinyin = 'x';
99 else
100 if (i < 0xD4D1) pinyin = 'y';
101 else
102 if (i < 0xD7FA) pinyin = 'z';
103 }
104
105 sb.Append(pinyin);
106 }
107
108 return sb.ToString();
109 }上面的代码兼容了数字和字母,我想不兼容数字和字母,比如“好不啊aa哈”只能通过“hbah”查询即可
这也太强了把...这么多if else 在sb.Append(pinyin);前家
else
{
continue;
}
sb.Append(pinyin);