如何在字符串中查找特定句子的所有出现?

Jef*_*eff 3 c# regex linq substring

假设我有一个这样的字符串:

string source = "Today is friday! I'm am having trouble programming this. Today is friday! Tomorrow is saturday. Today is friday!"
Run Code Online (Sandbox Code Playgroud)

我想搜索这个字符串,抓住所有说"今天是星期五!"的句子,并用我刚刚找到的句子创建一个新的字符串.

上述字符串的预期结果是:

string output = "Today is friday!Today is friday!Today is friday!"
Run Code Online (Sandbox Code Playgroud)

编辑:LINQ不是强制性的.

谢谢!

its*_*e86 6

这是一个非LINQ方法:

string str = "Today is friday! I'm am having trouble programming this. Today is friday! Tomorrow is saturday. Today is friday!";

StringBuilder sb = new StringBuilder();
int index = 0;
do
{
    index = str.IndexOf("Today is friday!", index);
    if (index != -1)
    {
        sb.Append("Today is friday!");
        index++;
    }
} while (index != -1);

string repeats = sb.ToString();
Run Code Online (Sandbox Code Playgroud)