我有一个从mutiline文本框中复制的字符串。我正在寻找一种方法来替换包含特定短语的整行。
例如,字符串如下所示:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Suspendisse egestas.


所以我想找到一种方法,用新行elit替换包含例如短语enim vehicula pellentesque.的整行,因此结果是:

Lorem ipsum dolor sit amet,
enim vehicula pellentesque.
Suspendisse egestas.


有快速的方法吗?

谢谢

最佳答案

var regex = new Regex(@"^.*\Welit\W.*$", RegexOptions.Multiline);
string result = regex.Replace(original, "enim vehicula pellentesque.");


RegexOptions.Multiline是关键;它表示将^,(=“ beginning”)和$(=“ end”)应用于行的开头和结尾,而不是字符串的开头和结尾。

\Welit的两侧寻找非单词字符,例如fooelit不匹配,但foo elit匹配。

10-05 18:07