手机版

ASP.NET c#获取字符串中汉字个数的具体实现方法

时间:2021-11-10 来源:互联网 编辑:宝哥软件园 浏览:

字符串可以包括数字、字母、汉字或其他字符。使用char类型的IsDigit静态方法判断字符串中的字符是否为数字,使用Char类型的IsLetter静态方法判断字符串中的字符是否为字母。我们来实现一个判断字符串是否是汉字的方法。通过这种方法,我们可以计算出一个字符串中的汉字数。运行效果如下图所示:

首先根据渲染设置Form的界面和内容,Box1。文本是输入字符串,我们处理该字符串来计算汉字的数量。双击Buton控件并编辑其点击事件代码。看汉字的Unicode范围,我们一般给0x4E00到0x9FA5。只要我们收到的字符的十六进制代码在这个范围内,我们就会认为这个字符是汉字(label4。文字显示汉字数)。复制代码如下:string a=Box1。文字;int K=0;for(int I=0;一.长度;I){ char j=a[I];ush ort s=j;if(s=0x4e 00s=0x9f 5){ K;}标签4。Text=之后,我整理了一些C#函数中使用的正则表达式,从字符串中判断汉字的复制码。代码如下://首先,使用系统引用命名空间。text .正则表达式;//定义一个函数返回字符串中的汉字个数,public static int gethannumfromstring(string str){ int count=0;Regex regex=新regex(@'^[u4e00-u9fa5]{0,}$');for(int I=0;我字符串。长度;i ) { if (regex。IsMatch(str[i]。ToString())){ count;} }返回计数;}代码描述:1。u4E00到u9FA5的Unicode字符是用汉字编码的,所以用来表示汉字的规则匹配范围。2.字符串可以直接进行索引,索引值的数据类型是char,所以str[i]。ToString()是将字符再次转换为字符串。3.使用Regex的IsMatch方法,可以判断字符串是否匹配给定的正则表达式,如果匹配成功则返回True,否则返回False。示例:获取字符串中的汉字个数C#获取字符串的全角个数。复制代码如下: static void main(string[]args){ while(true){ console。writeline('输入字符串');字符串字符串=控制台。ReadLine();//定义一个变量字符串来存储输入字符串int num=encoding . default . getbytecount(str);//encoding . default . getbytecount(str)计算默认情况下通过编码字符生成的字节数。int len=str。长度;//获取Console字符串的长度。WriteLine('带{0}个汉字',num-len);//num-len为字符串中的汉字个数}},也是正常的复制码。代码如下: ArrayList item list=new ArrayList();CharEnumerator CEnumerator=textbox 1。text . GetEnumerator();Regex regex=新regex('^[/u4e00-/u9fa5]{0,}$');while (CEnumerator。MoveNext()) { if(regex。IsMatch(CEnumerator。Current.ToString(),0)) itemList。添加(CEnumerator。current . ToString());文本框2。Text=itemList。count . ToString();}原理是:在获取字符串中的汉字个数时,可以先定义一个匹配汉字的正则表达式,然后使用CharEnumerator对象的MoveNext方法循环访问字符串中的每个字符,如果被访问的字符与定义的正则表达式匹配,就会被添加到一个数组中,最后数组中的项数就是字符串中的汉字个数。获取字符串中的汉字数。

版权声明:ASP.NET c#获取字符串中汉字个数的具体实现方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。