C#中怎么计算一段汉字的个数多少?请将代码给出来,谢谢!

我写了一段话,然后想编程计算出这段话的字的个数。

static void Main(string[] args)
{
Console.WriteLine("请输入一段文字。。");
string s = Console.ReadLine();
Count(s);
}

public static void Count(string s)
{
string str1 = "abcdefghijklmnopqrstuvwxyz";
string str2 = "0123456789";
int L = 0;//字母个数
int N = 0;//数字个数
int O = 0;//其他字符
int sp = 0;//空格字数
int C = 0;//汉字字数
int T = 0;//总数
string tempStr = "";
for (int i = 0; i < s.Length; i++)
{
tempStr = s.Substring(i, 1);
if (str1.IndexOf(tempStr) != -1)
{
L = L + 1;
}
else if (str1.ToUpper().IndexOf(tempStr) != -1)
{
L = L + 1;
}
else if (str2.IndexOf(tempStr) != -1)
{
N = N + 1;
}
else if (tempStr == " ")
{
sp = sp + 1;
}
else if (IsChina(tempStr))
{
C = C + 1;
}
else
{
O = O + 1;

}

}
T = L + N + sp + C + O;
Console.WriteLine("字母数:" + L);
Console.WriteLine("数字数:" + N);
Console.WriteLine("空格数:" + sp);
Console.WriteLine("汉字数:" + C);
Console.WriteLine("其他字符数:" + O);
Console.WriteLine("总字符数:" + T);
}
public static bool IsChina(string str)
{

int i = Convert.ToInt32(Convert.ToChar(str));
if (i < 0x4E00 || i > 0x9fa5)
return false;
else
return true;
}

参考资料:www.csdn.net

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-05
如果是只有汉字或ascii码可以转为gbk编码,用长度减去原字符串的长度。

C#中怎么计算一段汉字的个数多少?请将代码给出来,谢谢!
string.Length 就是字符数 比如 string s="这是我输入的一段话,其中包括汉字‘ ’空格、标点特殊符号¥%……";然后 方法为 s.Length;写成公用方法为:public int GetStrLenght(string str){ if(!string.IsNullOrEmpty(str))return str.Length;} ...

C#中怎么计算一段汉字的个数多少?请将代码给出来,谢谢!
string s = Console.ReadLine();Count(s);} public static void Count(string s){ string str1 = "abcdefghijklmnopqrstuvwxyz";string str2 = "0123456789";int L = 0;\/\/字母个数 int N = 0;\/\/数字个数 int O = 0;\/\/其他字符 int sp = 0;\/\/空格字数 int C = 0;\/\/汉字字数 i...

C#Form上有个Textbox,自动统计输入其中的汉字和英文单词的字数,不包括...
MessageBox.Show("字节长度:" + (l.Length - 1) + "\\r\\n 数字个数:" + (x.Length - 1) + "\\r\\n 汉字的个数:" + (xx.Length - 1) + "\\r\\n 字母的个数:" + (xxx.Length - 1));我用的方法是正则去判断然后把它截取出来,可能还有更好的办法,但是正则的验证速度是很快的 ...

c#求字符串的字节数
其实用不着那么复杂计算的。注意:C#中string.Length只是计算字符串“字符”的个数,不计算字节;但是汉字两个字节+数字(英文字符)一个字节,才是6个,简单的代码如下: byte[] bytes = Encoding.Default.GetBytes("1243我"); \/\/Default(根据自己究竟是汉字还是数字等,自动合理分配内存所需要的字节...

C#正则表达式如何提取一段字符串中汉字后的数字
string ssss = "张三20洗衣服OP21李误导7昭乌达放个";List<string> list = new List<string>();foreach (Match m in Regex.Matches(ssss, "(?<=[\一-\龥]+)[0-9]+"))\/\/[\\s\\S]*.{ list.Add(m.Groups[0].Value);}string a = list[0];string b = list[1];...

c# 中添加字体,汉字和空格各是多少宽度怎么求?或者说他们的比值是多少...
看你的编码。如果是ASSCI宽度为1,其它编码汉字为2,字符为1.空格算字符。

c#怎么判断字符串中包含汉字?
汉字的 UNICODE 编码范围是4e00-9fbb,具体代码如下:string text = "是不是汉字,ABC,keleyi.com";char[] c = text.ToCharArray();for (int i = 0; i < c.Length;i++){ if (c[i] >= 0x4e00 && c[i] <= 0x9fbb) { Console.WriteLine("是汉字"); }else{ Con...

C# 怎么判断textbox1.text字符个数
如果你的textbox里只能输入英文和数字的话,字符的个数就等于字符串的长度textbox1.text.length 如果textbox里面允许输入汉字的话就要加以判断汉字的个数,一个汉字是两个字符,统计字符个数时得注意

c#用来做用户名的验证,如何判断文本框中输入的为汉字,若为汉字并且要判...
int n=0;foreach (char ch in strTmp){ if (ch >= 0x4e00 && ch <= 0x9fa5){ n++;\/\/n对汉字进行计数 } } n>0即含有汉字,n>1即含有2个或以上汉字。int n1;foreach (char ch in strTmp){ if (ch < '0' || ch > '9')n1++;} n1>0即含有非数字 ...

c# 语言 获得文本框中字符串长度代码怎么写??急
如果是汉字和字母混和的 public void getStringLen(Str){ var i,len,code;if(Str==null || Str == "") return 0;len = Str.length;for (i = 0;i < Str.length;i++){ code = Str.charCodeAt(i);if (code > 255) {len ++;} } ...

相似回答
大家正在搜