Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式对文本字段中的字符计数_C#_Asp.net - Fatal编程技术网

C# 正则表达式对文本字段中的字符计数

C# 正则表达式对文本字段中的字符计数,c#,asp.net,C#,Asp.net,我正在尝试计算文本字段中的字符数。我发现了如何计算所有的字符 string st = TextBox1.Text; this.TextBox2.Text = Regex.Matches(st, ".|").Count.ToString(); 但我需要再创建两个单独的计数,任何上限、数字,-或#最多(不包括)@ 如LA-FG4-DETF-DJJJTHD-S@T-JHF-F1-F2计数为21 另一个我需要从@(包括),任何大写字母,数字,-或#开始数到文本字段的末尾 如LA-FG4-DETF-DJ

我正在尝试计算文本字段中的字符数。我发现了如何计算所有的字符

string st = TextBox1.Text;
this.TextBox2.Text = Regex.Matches(st, ".|").Count.ToString();
但我需要再创建两个单独的计数,任何上限、数字,-或#最多(不包括)@

如LA-FG4-DETF-DJJJTHD-S@T-JHF-F1-F2
计数为
21

另一个我需要从@(包括),任何大写字母,数字,-或#开始数到文本字段的末尾

如LA-FG4-DETF-DJJJTHD-S@T-JHF-F1-F2
计数为
12


任何帮助都将不胜感激。

string.Split和string.Length太简单了?C#最好是其中之一,或者会很好?抱歉,应该使用正则表达式声明非常新的内容。所谓“任何大写字母”,您的意思是您只想计算大写字母,还是想计算所有字母,大写字母和小写字母?string.Split和string.Length都太简单了?C#最好是C#,但二者中的一个或两个都会很好?对不起,应该用正则表达式声明非常新的用法。所谓“任意大写字母”,你的意思是你只想数大写字母,还是想数所有字母,包括大写字母和小写字母?谢谢Ergwun,效果很好。这正是我要找的。谢谢Ergwun,效果很好。这正是我想要的。
        string input = "LA-FG4-DETF-DJJJTHD-S@T-JHF-F1-F2";
        int atIndex = input.IndexOf('@');
        int count1 = Regex.Matches(input.Substring(0, atIndex), "[0-9A-Z#-]").Count;
        int count2 = Regex.Matches(input.Substring(atIndex, input.Length - atIndex), "[0-9A-Z#@-]").Count;