最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#利用正則表達(dá)式實(shí)現(xiàn)獲取字符串中漢字的數(shù)量

 更新時(shí)間:2024年01月14日 14:08:09   作者:wenchm  
這篇文章主要為大家詳細(xì)介紹了C#如何利用正則表達(dá)式實(shí)現(xiàn)獲取字符串中漢字的數(shù)量,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、關(guān)于字符串和判斷其組成常識(shí)

字符串中可以包括數(shù)字、字母、漢字或者其他字符。使用Char類型的IsDigit靜態(tài)方法可以判斷字符串中的某個(gè)字符是否為數(shù)字,使用Char類型的IsLetter靜態(tài)方法可以判斷字符串中的某個(gè)字符是否為字母。

使用正則表達(dá)式判斷字符是否為漢字,進(jìn)一步了解字符串是一組不可變的字符集的概念,可以使用索引訪問(wèn)字符串中的每一個(gè)字符。

字符串對(duì)象的索引是只讀的,只可以讀取字符串對(duì)象中的字符,不可以根據(jù)索引更改字符串中的字符。

二、用正則表達(dá)式獲取字符串中漢字的數(shù)量

1.字符是否為漢字的正則表達(dá)式

Regex regex = MyRegex();                //創(chuàng)建正則表達(dá)式對(duì)象,用于判斷字符是否為漢字
[GeneratedRegex("^[\u4E00-\u9FA5]{0,}$")]
private static partial Regex MyRegex();

2.實(shí)例

// 用正則表達(dá)式獲取字符串中漢字的個(gè)數(shù)
using System.Text.RegularExpressions;
namespace _044
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private TextBox? textBox2;
        private TextBox? textBox1;
        private Button? button1;
        private Label? label2;
        private Label? label1;
 
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // textBox2
            // 
            textBox2 = new TextBox
            {
                Location = new Point(117, 48),
                Name = "textBox2",
                Size = new Size(133, 23),
                TabIndex = 4,
            };
            // 
            // textBox1
            // 
            textBox1 = new TextBox
            {
                Location = new Point(117, 18),
                Name = "textBox1",
                Size = new Size(162, 23),
                TabIndex = 3
            };
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(17, 48),
                Name = "button1",
                Size = new Size(97, 23),
                TabIndex = 2,
                Text = "獲取漢字?jǐn)?shù)量",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // label2
            // 
            label2 = new Label
            {
                AutoSize = true,
                Location = new Point(259, 50),
                Name = "label2",
                Size = new Size(20, 17),
                TabIndex = 1,
                Text = "個(gè)"
            };
            // 
            // label1
            //         
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(17, 24),
                Name = "label1",
                Size = new Size(80, 17),
                TabIndex = 0,
                Text = "輸入字符串:"
            };
            // 
            // groupBox1
            //           
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(285, 77),
                TabIndex = 0,
                TabStop = false,
                Text = "獲取漢字?jǐn)?shù)量"
            };
            groupBox1.Controls.Add(textBox2);
            groupBox1.Controls.Add(textBox1);
            groupBox1.Controls.Add(button1);
            groupBox1.Controls.Add(label2);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();
            
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(309, 101);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "獲取字符串中漢字的數(shù)量";         
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
        }
 
        private void Button1_Click(object? sender, EventArgs e)
        {
            int temp = 0;                                  //用于存儲(chǔ)漢字?jǐn)?shù)量
            Regex regex = MyRegex();                       //創(chuàng)建正則表達(dá)式對(duì)象,用于判斷字符是否為漢字
 
            for (int i = 0; i < textBox1!.Text.Length; i++)//遍歷字符串中每一個(gè)字符
            {
                temp = regex.IsMatch(textBox1.Text[i].     //如果字符是漢字則計(jì)數(shù)器加1
                    ToString()) ? ++temp : temp;
            }
            textBox2!.Text = temp.ToString();              //顯示漢字?jǐn)?shù)量
        }
 
        [GeneratedRegex("^[\u4E00-\u9FA5]{0,}$")]
        private static partial Regex MyRegex();
    }
}

3.生成結(jié)果

 

三、相關(guān)知識(shí)點(diǎn)

1.Regex.IsMatch 方法 

詳見(jiàn)C#中使用正則表達(dá)式實(shí)現(xiàn)漢字轉(zhuǎn)拼音

到此這篇關(guān)于C#利用正則表達(dá)式實(shí)現(xiàn)獲取字符串中漢字的數(shù)量的文章就介紹到這了,更多相關(guān)C#獲取字符串中漢字?jǐn)?shù)量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c# 基于任務(wù)的異步編程模式(TAP)

    c# 基于任務(wù)的異步編程模式(TAP)

    這篇文章主要介紹了c# 基于任務(wù)的異步編程模式(TAP)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c# 異步編程的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-11-11
  • 解析C#中#region與#if的作用

    解析C#中#region與#if的作用

    以下是對(duì)C#中#region與#if的作用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • C#代碼實(shí)現(xiàn)打印Excel文檔的超詳細(xì)教程

    C#代碼實(shí)現(xiàn)打印Excel文檔的超詳細(xì)教程

    在?.NET?環(huán)境中實(shí)現(xiàn)高質(zhì)量的?Excel?打印并非易事,本文將帶大家使用?Spire.XLS?for?.NET?結(jié)合?System.Drawing.Printing?命名空間,構(gòu)建完整的?Excel?打印解決方案,希望對(duì)大家有所幫助
    2026-05-05
  • C# 中屬性PropertyInfo的setvalue用法說(shuō)明

    C# 中屬性PropertyInfo的setvalue用法說(shuō)明

    這篇文章主要介紹了C# 中屬性PropertyInfo的setvalue用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • DevExpress實(shí)現(xiàn)GridControl顯示Gif動(dòng)畫的方法

    DevExpress實(shí)現(xiàn)GridControl顯示Gif動(dòng)畫的方法

    這篇文章主要介紹了DevExpress實(shí)現(xiàn)GridControl顯示Gif動(dòng)畫的方法,這是比較實(shí)用的方法,需要的朋友可以參考下
    2014-08-08
  • c#模擬js escape方法的簡(jiǎn)單實(shí)例

    c#模擬js escape方法的簡(jiǎn)單實(shí)例

    這篇文章主要介紹了c#模擬js escape方法的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下
    2013-11-11
  • C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊

    C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊

    曾經(jīng)由一個(gè)項(xiàng)目,要求實(shí)現(xiàn)制作電子期刊定期發(fā)送給企業(yè)進(jìn)行閱讀,由編輯人員使用 Microsoft Word先生成PDF文件,然后將生成的PDF文件轉(zhuǎn)化為JPEG文件,最后將JPEG文件生成電子書模式,本文給大家介紹了C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊,需要的朋友可以參考下
    2023-12-12
  • Unity的AssetPostprocessor?Model動(dòng)畫函數(shù)使用案例深究

    Unity的AssetPostprocessor?Model動(dòng)畫函數(shù)使用案例深究

    這篇文章主要介紹了Unity的AssetPostprocessor?Model動(dòng)畫函數(shù)使用案例的深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • C#?StartsWith?字符串的實(shí)例方法解析

    C#?StartsWith?字符串的實(shí)例方法解析

    這篇文章主要介紹了C#?StartsWith?字符串的實(shí)例方法,StartsWith?方法對(duì)于需要檢查字符串的前綴是否匹配特定模式的情況非常有用,你可以根據(jù)返回的布爾值,根據(jù)需要執(zhí)行相應(yīng)的邏輯操作,需要的朋友可以參考下
    2024-03-03
  • Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼

    Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)3D貪吃蛇的移動(dòng)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04

最新評(píng)論

大洼县| 青龙| 兴化市| 永昌县| 大方县| 波密县| 芜湖市| 西峡县| 灵璧县| 噶尔县| 长乐市| 巧家县| 富裕县| 黄梅县| 凌海市| 余姚市| 十堰市| 正阳县| 大方县| 墨竹工卡县| 诏安县| 武鸣县| 正安县| 姚安县| 增城市| 长沙县| 舞阳县| 沙田区| 黔西| 庆城县| 花莲市| 蓬溪县| 翁源县| 通州市| 文安县| 卓资县| 喜德县| 缙云县| 称多县| 唐河县| 武强县|