首页 > 编程 > C# > 正文

C#统计字符串的方法

2020-01-24 00:06:33
字体:
来源:转载
供稿:网友

本文实例为大家分享了C#字数统计(字母、数字、汉字、符号)的具体代码,供大家参考,具体内容如下

namespace 测试1 { public partial class Form1 : Form { public Form1() {  InitializeComponent();  this.richTextBox1.Text = "g你/rs/rs你好吗d dsDDDDDDDDddssssss、‘//奇巧';‘l;''''sssssssssssssssssssssssssssssssssssssssssssssssssssssssssasdddddddddddddddddddd/tddddddddddddddddddddddddddddddddddddddddddddddddda"; }  bool skipSpace = true;  //窗口加载 private void Form1_Load(object sender, EventArgs e) {  richTextBox1.Focus();  int cnt1=0, cnt2=0, cnt3=0, cnt4=0;  if (this.richTextBox1.Text != null)  {  string sLine;  string s = 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内容改变事件 private void richTextBox1_TextChanged(object sender, EventArgs e) {  bool skipSpace = true;  int cnt1=0, cnt2=0, cnt3=0, cnt4=0;  if (this.richTextBox1.Text != null)  {  string sLine;  string s = 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();//符号数量  }  } }   /// <summary> /// 返回字数 /// </summary> /// <param name="s"></param> /// <returns></returns> private int getWordLength(string s) {  if (s != null)  return s.Length;  else  return 0; }  /// <summary> /// 返回数字(0~9)字数数量 /// </summary> /// <param name="s"></param> /// <returns></returns> private int getdigitalLength(string s) {  int lx = 0;  char[] q = s.ToCharArray();  for (int i = 0; i < q.Length; i++)  {  if ((int)q[i] >= 48 && (int)q[i] <= 57)  {   lx += 1;  }  }  return lx; }  /// <summary> /// 返回字母(A~Z-a~z)字数数量 /// </summary> /// <param name="s"></param> /// <returns></returns> private int getcharLength(string s) {  int lz = 0;  char[] q = s.ToLower().ToCharArray();//大写字母转换成小写字母  for (int i = 0; i < q.Length; i++)  {  if ((int)q[i] >= 97 && (int)q[i] <= 122)//小写字母  {   lz += 1;  }  }  return lz; }  /// <summary> /// 返回字节数 /// </summary> /// <param name="s"></param> /// <returns></returns> private int getByteLength(string s) {  int lh = 0;  char[] q = s.ToCharArray();  for (int i = 0; i < q.Length; i++)  {  if ((int)q[i] >= 0x4E00 && (int)q[i] <= 0x9FA5) // 汉字  {   lh += 2;  }  else  {   lh += 1;  }  }  return lh; } }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表