C#里面如何区分汉字和字母 ?
RT, 问题点数:40、回复次数:21Top
1 楼crazytom()回复于 2005-07-22 18:45:53 得分 0
关注Top
2 楼dragonforfly(飘零)回复于 2005-07-22 18:46:50 得分 0
正则表达式
/^[\u4E00-\u9FFF]+$/Top
3 楼jhtchina(学习构架设计)回复于 2005-07-22 19:01:17 得分 5
http://jhtchina.cnblogs.com/archive/2005/07/05/186678.html
也许能帮助你Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-07-22 20:31:57 得分 0
根据ascii码的值Top
5 楼yitiaoming2003(小钱)回复于 2005-07-22 20:47:58 得分 0
根据Asscii的值判断Top
6 楼okyzx(Jason)回复于 2005-07-22 21:55:02 得分 10
/// <summary>
/// 检查是否为汉字
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public bool IsHZ(string s)
{
byte[] b=System.Text.Encoding.Default.GetBytes(s);
if(b.Length>1)
{
return true;
}
else
{
return false;
}
}Top
7 楼okyzx(Jason)回复于 2005-07-22 21:55:51 得分 0
注意传入给IsHZ的一定要是一个字符Top
8 楼okyzx(Jason)回复于 2005-07-22 21:56:25 得分 0
如:
bool b=IsHZ("d");
MessageBox.Show(b.ToString());//False
b=IsHZ("中");
MessageBox.Show(b.ToString());//TrueTop
9 楼ctidea_binzi(业余程序员)回复于 2005-07-23 00:22:58 得分 0
可以使用Asscii 和 正则表达式
共同关注!!!!Top
10 楼ctidea_binzi(业余程序员)回复于 2005-07-23 00:23:08 得分 0
还有~~~求了解服务器购买以及操作系统价格的朋友
替我看看我的问题~~~~急~~~
在做计划,明天就要交了~~~~~
http://community.csdn.net/Expert/topic/4162/4162476.xml?temp=.8233911
~~~~~~~送 分 中~~~!!!!!Top
11 楼lovevsnet(编程一把手)回复于 2005-07-23 10:56:28 得分 10
下面是我帮别人回答过的,供你参考:
string str="TP中国";
string s1,s2;
s1=Regex.Replace(str,@"[\u4e00-\u9fa5]*","");//s1=TP
s2=Regex.Replace(str,@"[^\u4e00-\u9fa5]*","");//s1=中国
Top
12 楼zachary7833(Miracle)回复于 2005-07-23 12:36:10 得分 0
汉字的高位字节Asscii大于128Top
13 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2005-07-23 13:19:11 得分 0
根据编码的值,不一定是ASCII(一般根据ASCII居多)
Top
14 楼fgc5201314(成成(努力中...))回复于 2005-07-23 13:57:18 得分 10
public bool IsCharacter(string strInput)
{
try
{
char c=char.Parse(strInput);
if(c>0x7f)
{
//就一般是汉字..
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}Top
15 楼zorywa(碧海蓝天)回复于 2005-07-23 15:20:08 得分 0
可以看出上面两个帖子是对的!Top
16 楼zorywa(碧海蓝天)回复于 2005-07-23 15:21:36 得分 0
大家很厉害哦Top
17 楼pgnism(猪肉杀手)回复于 2005-07-23 15:41:38 得分 0
其实根本就不需要用那么复杂的正则表达式,只需要用MS提供的TRY CATCH就ok了。try里面用int.Parse("testStr"):只有数字才能Parse煞~~呵呵Top
18 楼deyunanhai(bocelli)回复于 2005-07-23 16:00:32 得分 0
ascii>127 || ascii<0Top
19 楼chuanke((C ) 2005【空间代数】. All rights reserved .)回复于 2005-07-23 16:00:35 得分 0
学习中... ...Top
20 楼Jamestan(情商蛋蛋)回复于 2005-07-23 16:16:02 得分 5
没有上面兄弟说的那么简单!
如果是GB编码好办,一般大于128的都是汉字(不完全是,比如有ascii特殊符号也会大于128)
如果是unicode的编码有点复杂,4e00-9fff都是CJK字符(包括汉字),如果Unicode3.0标准,还要加上2E80-4DB5和F900-FAFF、FE30-FE4F等扩充的部分。Top
21 楼yyuj(若思)回复于 2005-07-23 16:41:32 得分 0
平时是如何使用的,如何处理,C#中也一样。Top




