我想在C#中只用\r\n
替换任意数量的\r\n\r\n
。对不起,如果这是一个愚蠢的问题,但我是regex的新手
其实我试过
clearstring = Regex.Replace(clearstring, @"\r\n+", "\r\n\r\n", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);
但它没有用,有什么建议吗?我将不胜感激。
答案 0 :(得分:5)
尝试
clearstring = Regex.Replace(clearstring, @"(\r\n)+", "\r\n\r\n", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase);
规则是量词(在你的情况下为加号)仅适用于前面的组或字符类,在你的情况下只有\ n。如果要包含多个字符或类,则应将它们分组为paranthesis。
答案 1 :(得分:2)
Regex.Replace(str, @"(\r\n){2,}", Environment.NewLine)
仅当找到两个或多个连续的空行时才会替换