3

我想在 C# 中\r\n只用一个替换任意数量的。\r\n\r\n对不起,如果这是一个愚蠢的问题,但我是正则表达式的新手。
其实我试过

clearstring = Regex.Replace(clearstring, @"\r\n+", "\r\n\r\n", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);

但它没有用,有什么建议吗?我会很感激。

4

2 回答 2

5

尝试

clearstring = Regex.Replace(clearstring, @"(\r\n)+", "\r\n\r\n", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);

规则是量词(在您的情况下为加号)仅适用于前一个组或字符类,在您的情况下仅为 \n。如果要包含多个字符或类,则应将它们分组在括号中。

于 2013-03-28T07:11:42.387 回答
2
Regex.Replace(str, @"(\r\n){2,}", Environment.NewLine)

仅当找到两个或多个连续的空行时才会替换

于 2015-09-08T21:15:50.200 回答