Regex有效地计算字符串中与号的数量.不能遍历string

本文关键字:不能 遍历 string 计算 有效地 字符串 Regex | 更新日期: 2023-09-27 18:18:59

我们正在尝试使用Regex有效地计数字符串中的&号数量。我知道我可以计数,通过迭代,我需要它在Regex形式由于框架的要求。

是否有人可以提供一个正则表达式,只是内部计数?也就是说,它不会做任何匹配。或最小匹配和保存匹配项。

让我澄清一下,计数不是一个选项,我们需要一个正则表达式。简单地说,我有一个从文件中读取的字符串,我动态地将它传递给一个我没有代码的库。因此需要一个regex

Regex有效地计算字符串中与号的数量.不能遍历string

我不确定您的框架需求是否需要使用正则表达式,但这里有一个简单的linq解决方案,以防它对您有价值。

string str = "asas&fgdf&rete&";
int numOfAmpersands = str.Count(c => c == '&');
Console.WriteLine(numOfAmpersands); //prints 3

编辑

正则表达式版本:

string str = "asas&fgdf&rete&";
Regex r = new Regex("&");
int regexMatchCount = r.Matches(str).Count;

您不需要正则表达式。您可以简单地执行

string source = "foo & bar & bob & alice";
int ampersand_count = source.Split('&').Length - 1;

计数显然是正则表达式不能做的事情之一…