C#字数统计(字母、数字、汉字、符号)
生活随笔
收集整理的這篇文章主要介紹了
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;elsereturn 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;}}
}
?摘自http://blog.csdn.net/ou832339/article/details/20343439
轉載于:https://www.cnblogs.com/springcloud/p/7990085.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的C#字数统计(字母、数字、汉字、符号)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java读取utf-8文件第一行多一个问
- 下一篇: sql server 2005 expr