博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#判断字符串中是否含有汉字

Posted on 2011-10-04 00:29  快乐家++  阅读(1328)  评论(0编辑  收藏  举报
string strTmp = "se 5 王%# @e";

使用正则表达式

Regex r = new Regex(@"[\u4e00-\u9fa5]+");

            Match mc = r.Match(strTmp);

            if(mc.Length!=0)

            {

                Console.WriteLine("strTmp含有汉字..");

            }

一般方法

int n1=0,n2=0,n3=0,n4=0,n5=0;

            foreach (char ch in strTmp)

            {

                if (ch >= '0' && ch <= '9')

                    n1++;//n1对数字进行计数

                else if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')

                    n2++;//n2对字母进行计数

                else if (ch == ' ')

                    n3++;//n3对空格进行计数

                else if (ch >= 0x4e00 && ch <= 0x9fa5)

                {

                    n4++;//n4对汉字进行计数

                }

                else

                {

                    n5++;//n5对特殊字符进行计数

                }

            }

判断是否含有空格

int pos=strTmp.IndexOf(' ');

            if (pos == -1)

            {

                Console.WriteLine("不含有空格");

            }

            else

            {

                Console.WriteLine("含空格");

            }

判断一个字符是否为汉字

string strTmp = "";

            byte[] tmp = System.Text.Encoding.Default.GetBytes(strTmp);

            if (tmp.Length > 1)

            {

                Console.WriteLine("该字符为汉字..");

            }