C#统计字符串里中文汉字个数的方法
程序员文章站
2023-12-17 22:44:40
如何从c#获取字符串中汉字的个数?c#中使用正则表达式来从字符串中判断出汉字,然后计数,从而得到字符串中的汉字个数。
先看这段代码:
复制代码 代码如下:
//首先引...
如何从c#获取字符串中汉字的个数?c#中使用正则表达式来从字符串中判断出汉字,然后计数,从而得到字符串中的汉字个数。
先看这段代码:
复制代码 代码如下:
//首先引用命名空间
using system.text.regularexpressions;
//定义一个函数,返回字符串中的汉字个数
public static int gethannumfromstring(string str)
{
int count = 0;
regex regex = new regex(@"^[\u4e00-\u9fa5]{0,}$");
for (int i = 0; i < str.length; i++)
{
if (regex.ismatch(str[i].tostring()))
{
count++;
}
}
return count;
}
代码说明:
1、unicode字符的\u4e00到\u9fa5之间为汉字编码,所以使用它来表示汉字的正则匹配范围。
2、字符串可以直接进行索引,索引得到的值的数据类型为char,所以str[i].tostring()是为了把char再度转换为字符串。
3、使用regex的ismatch方法,可以判断字符串是否与给定的正则表达式匹配,如果匹配成功则返回true,否则为false。