C#统计字符串的方法
本文实例为大家分享了C#字数统计(字母、数字、汉字、符号)的具体代码,供大家参考,具体内容如下
namespace测试1
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
this.richTextBox1.Text="g你\rs\rs你好吗ddsDDDDDDDDddssssss、‘\\奇巧';‘l;''''sssssssssssssssssssssssssssssssssssssssssssssssssssssssssasdddddddddddddddddddd\tddddddddddddddddddddddddddddddddddddddddddddddddda";
}
boolskipSpace=true;
//窗口加载
privatevoidForm1_Load(objectsender,EventArgse)
{
richTextBox1.Focus();
intcnt1=0,cnt2=0,cnt3=0,cnt4=0;
if(this.richTextBox1.Text!=null)
{
stringsLine;
strings=richTextBox1.Text;
if(skipSpace)
{
{
sLine=s.Replace("?","").Replace("","").Replace("\t","").Replace("\n","").Replace("\r","");
cnt2+=getByteLength(sLine);
cnt1+=getWordLength(sLine);
cnt3+=getdigitalLength(sLine);
cnt4+=getcharLength(sLine);
textBox5.Text=cnt1.ToString();//字数
textBox6.Text=cnt2.ToString();//字节数量(不含"","\t","\n","\r","?")
textBox7.Text=cnt3.ToString();//数字数量
textBox8.Text=cnt4.ToString();//字母数量
textBox9.Text=(cnt2-cnt1).ToString();//汉字数量
textBox10.Text=(cnt2-cnt3-cnt4-(cnt2-cnt1)*2).ToString();//符号数量
}
}
}
}
//richTextBox1.text内容改变事件
privatevoidrichTextBox1_TextChanged(objectsender,EventArgse)
{
boolskipSpace=true;
intcnt1=0,cnt2=0,cnt3=0,cnt4=0;
if(this.richTextBox1.Text!=null)
{
stringsLine;
strings=richTextBox1.Text;
if(skipSpace)
{
sLine=s.Replace("?","").Replace("","").Replace("\t","").Replace("\n","").Replace("\r","");
cnt2+=getByteLength(sLine);
cnt1+=getWordLength(sLine);
cnt3+=getdigitalLength(sLine);
cnt4+=getcharLength(sLine);
textBox5.Text=cnt1.ToString();//字数
textBox6.Text=cnt2.ToString();//字节数量(不含"","\t","\n","\r","?")
textBox7.Text=cnt3.ToString();//数字数量
textBox8.Text=cnt4.ToString();//字母数量
textBox9.Text=(cnt2-cnt1).ToString();//汉字数量
textBox10.Text=(cnt2-cnt3-cnt4-(cnt2-cnt1)*2).ToString();//符号数量
}
}
}
///
///返回字数
///
///
///
privateintgetWordLength(strings)
{
if(s!=null)
returns.Length;
else
return0;
}
///
///返回数字(0~9)字数数量
///
///
///
privateintgetdigitalLength(strings)
{
intlx=0;
char[]q=s.ToCharArray();
for(inti=0;i=48&&(int)q[i]<=57)
{
lx+=1;
}
}
returnlx;
}
///
///返回字母(A~Z-a~z)字数数量
///
///
///
privateintgetcharLength(strings)
{
intlz=0;
char[]q=s.ToLower().ToCharArray();//大写字母转换成小写字母
for(inti=0;i=97&&(int)q[i]<=122)//小写字母
{
lz+=1;
}
}
returnlz;
}
///
///返回字节数
///
///
///
privateintgetByteLength(strings)
{
intlh=0;
char[]q=s.ToCharArray();
for(inti=0;i=0x4E00&&(int)q[i]<=0x9FA5)//汉字
{
lh+=2;
}
else
{
lh+=1;
}
}
returnlh;
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。