C#統(tǒng)計(jì)字符串里中文漢字個(gè)數(shù)的方法
如何從C#獲取字符串中漢字的個(gè)數(shù)?C#中使用正則表達(dá)式來(lái)從字符串中判斷出漢字,然后計(jì)數(shù),從而得到字符串中的漢字個(gè)數(shù)。
先看這段代碼:
//首先引用命名空間
using System.Text.RegularExpressions;
//定義一個(gè)函數(shù),返回字符串中的漢字個(gè)數(shù)
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之間為漢字編碼,所以使用它來(lái)表示漢字的正則匹配范圍。
2、字符串可以直接進(jìn)行索引,索引得到的值的數(shù)據(jù)類型為char,所以str[i].ToString()是為了把char再度轉(zhuǎn)換為字符串。
3、使用Regex的IsMatch方法,可以判斷字符串是否與給定的正則表達(dá)式匹配,如果匹配成功則返回True,否則為False。
相關(guān)文章
C#實(shí)現(xiàn)Word轉(zhuǎn)換TXT的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)Word轉(zhuǎn)換TXT的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12C#中Kestrel和IIS服務(wù)器下的同步與異步配置
本篇文章主要講解什么是Kestrel和IIS服務(wù)器和特點(diǎn),以及他們?nèi)绾闻渲猛脚c異步,具有一定的參加價(jià)值,感興趣的可以了解一下2023-08-08基于Unity實(shí)現(xiàn)2D邊緣檢測(cè)
這篇文章主要介紹了如何利用Unity實(shí)現(xiàn)2D邊緣檢測(cè),從而達(dá)到人物描邊效果。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-04-04C#精確到納秒級(jí)別的計(jì)時(shí)器類實(shí)現(xiàn)代碼
這篇文章主要介紹了C#精確到納秒級(jí)別的計(jì)時(shí)器類,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08C#使用Sleep(Int32)方法實(shí)現(xiàn)動(dòng)態(tài)顯示時(shí)間
這篇文章主要為大家詳細(xì)介紹了C#如何使用Sleep(Int32)方法實(shí)現(xiàn)動(dòng)態(tài)顯示時(shí)間,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-01-01C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))
在本篇內(nèi)容里我們給大家整理了關(guān)于Unity3D游戲開發(fā)中C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。2019-05-05C#使用DateTime.Now靜態(tài)屬性動(dòng)態(tài)獲得系統(tǒng)當(dāng)前日期和時(shí)間
本文主要介紹了C#使用DateTime.Now靜態(tài)屬性動(dòng)態(tài)獲得系統(tǒng)當(dāng)前日期和時(shí)間,DateTime結(jié)構(gòu)的Now靜態(tài)屬性只是得到一個(gè)系統(tǒng)時(shí)間對(duì)象,該時(shí)間對(duì)象不會(huì)隨著系統(tǒng)時(shí)間的變化而變化,如果要?jiǎng)討B(tài)顯示系統(tǒng)時(shí)間,可以使用計(jì)時(shí)器間隔地獲取系統(tǒng)時(shí)間對(duì)象并顯示,感興趣的可以了解一下2024-01-01