0

我有一个接受 url(example:care.org)的程序,获取 url 的页面源并进行一些计算。

  string text = <the page source of care.org>
  string separator = "car";
  var cnt = text.ToLower().Split(separator,StringSplitOptions.None);

我的目标是计算页面源中“汽车”的出现次数,我的代码将护理视为“汽车”|“e”,它以这种方式将其拆分。但我希望它将整个分隔符视为一个并执行分裂素

请在这件事上给予我帮助

4

4 回答 4

1

您应该使用正则表达式而不是 split() 方法:

Regex regex = new Regex(@"\bcar\b"); // you should modify it if `car's` needed

Match match = regex.Match(text);
int cnt = 0;

while (match.Success)
{
   cnt++;
   match = match.NextMatch();
}

// here you get count of `car` in `cnt`
于 2013-07-09T07:43:03.233 回答
1

这是如何通过使用来实现您想要的RegularExpressions

string text = "the page source of care.org";
string separator = @"\bcar\b";
MatchCollection resultsarray = Regex.Matches(text, separator);

现在resultsarray包含您的匹配项。您可以使用

resultsarray.Count
于 2013-07-09T07:55:03.110 回答
0

Split 返回一个字符串数组,你可以只计算结果。

var cnt = text.ToLower().Split(separator,StringSplitOptions.None).count;
于 2013-07-09T07:46:04.153 回答
0

我认为您不需要拆分,因为您不会对子字符串做任何事情。您只需要计数,因此请考虑使用RegEx.Matches(text, "car[^a-zA-Z0-9]")或类似方法来定义您感兴趣的模式。祝您好运!

于 2013-07-09T07:59:15.170 回答