计算字符串中的文本

cdu*_*dub 0 c#

我在.NET中有一个字符串,如下所示:

string str = "Lorem ipsum is great. lorem ipsum Lorem...";
Run Code Online (Sandbox Code Playgroud)

我需要得到所有匹配案例的"Lorem".所以Lorem应该出现两次而忽略了lorem.

谢谢.

SKJ*_*SKJ 8

string str = "Lorem ipsum is great. lorem ipsum Lorem...";
string word = "Lorem";
Console.WriteLine(Regex.Matches(str,word).Count);
Run Code Online (Sandbox Code Playgroud)


Tim*_*ter 6

你可以使用Linq.

String searchWhat = "Lorem";
int count = str.Split(new[]{' ','.'}, StringSplitOptions.None)
               .Count(w => w == searchWhat);
Run Code Online (Sandbox Code Playgroud)

演示:http://ideone.com/a9XHln

编辑:您已经评论过"Lorem Loremo"将计为2,因此您希望计算给定单词的所有出现(案例判断),即使该单词是另一个单词的一部分.然后你可以使用String.Contains:

int count = str.Split(new[]{' ','.'}, StringSplitOptions.None)
               .Count(w => w.Contains(searchWhat));
Run Code Online (Sandbox Code Playgroud)

演示:http://ideone.com/fxDGuf