正则表达式替换每个换行符

问题描述 投票:0回答:3

我需要将字符串中的每个换行符替换为另一个字符(例如“X”)。我希望用一个换行符折叠多个换行符!

PS:这个正则表达式用单个换行符替换所有连续的换行符,但这不是我需要的。

Regex regex_newline = new Regex("(\r\n|\r|\n)+");
c# regex replace newline
3个回答
17
投票

这将用某些东西替换一个或多个换行符,不一定是单个换行符 - 这是由 regex_newline.Replace(...) 调用决定的,您没有显示它。

所以基本上,答案是

 Regex regex_newline = new Regex("(\r\n|\r|\n)");   // remove the '+'
 // :
 regex_newline.replace(somestring, "X");

8
投票

只需使用

String.Replace
方法并替换字符串中的
Environment.NewLine
即可。不需要正则表达式。

http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx


0
投票

自从.Net6 ReplaceLineEndings扩展方法提供了这样的能力。

string tmp = """
1
2
""";

Console.WiteLine(tmp.ReplaceLineEndings()); // replace line endings to  Environment.NewLine
Console.WiteLine(tmp.ReplaceLineEndings("<br/>")); // replace line endings to <br/>
© www.soinside.com 2019 - 2024. All rights reserved.