C#统计字符串的方法
程序员文章站
2023-11-14 23:40:22
本文实例为大家分享了c#字数统计(字母、数字、汉字、符号)的具体代码,供大家参考,具体内容如下
namespace 测试1
{
public part...
本文实例为大家分享了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; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Matocol:区块链时代电商的华丽蜕变
下一篇: 站长日志:选好服务商,畅享网络无烦忧