C#统计字符串里中文汉字个数的方法
作者:junjie 发布时间:2022-05-12 21:47:10
标签: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。


猜你喜欢
- Spring Framework 提供了一套可以方便地对 Controller 层中接收的参数进行校验的框架,其中就包括了 @Validat
- 一、启动android默认浏览器这样子,android就可以调用起手机默认的浏览器访问。二、指定相应的浏览器访问1、指定android自带的
- 1:HttpHelper.javapublic class HttpHelper { //1:标准的Ja
- 实现Struts登录1、jar包拷贝首先是建立java web项目,之后打开我们我们下载好strtus框架,Struts-1.2.9-bin
- 本文实例讲述了winform绑定快捷键的方法。分享给大家供大家参考。具体分析如下:第一种:Alt + *(按钮快捷键)在大家给button、
- 配置文件<!-- 文件上传 --> <bean id="multipartResolver" clas
- 一、前言 网上有许多的多线程断点续传操作,但总是写的很云里雾里,或者
- 1.在实体类中添加@TableId注解:2.在navicat中设置id自动增长:3.测试一下,当我们再次插入的时候,就会看到id4.对注解中
- 稳定度(稳定性)一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前
- 为了避免直接进入项目中存在的页面,使用filter过滤器新建一个类loginFilter:package com.tjcu.filter;i
- 昨天在与对端系统调接口的时候,对端系统对我们传过去的json串老是处理不了,后来查原因是应为我们传过去的json串里有json对象数组,因为
- 1、比较器①比较器的引入a.首先,当我们单一地比较某一种数据类型的数组时,可以直接用Arrays.sort()进行实现b.而当我们同时含有多
- Java去掉指定字符串的开头的指定字符/** * 去掉指定字符串的开头的指定字符 *
- 在项目开发中,我们返回的数据或者对象没有的时候一般直接返回的null有数据时的返回值{ "flag": true, &q
- 在我们使用mybatis plus 时, mybatis plus 可以帮我们自动封装我们的实体类用来查询添加,当我们遇见我们的尸体类名与我
- 本文实例讲述了C#移除所有事件绑定的方法。分享给大家供大家参考。具体分析如下:private delegate int DEL_TEST_E
- IntelliJ IDEA一个吸引人的地方在于,他有比较好的反编译工具,这让Eclipse用户牙痒痒。但不要紧,本文介绍如何在Eclipse
- 面对android studio Run 一次项目要等好几分钟的痛点,不得不研究一下android studio 的单元测试。其实我的目的很
- 问题之前一直使用Mybatis,最近尝试使用Mybatis-Plus,却在updateById登录成功后更新最近登录时间出现了问题,一般业务
- 在开发Android应用程序中,经常会自定义View来实现各种各样炫酷的效果,在实现这吊炸天效果的同时,我们往往会定义很多attr属性,这样