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

osm*_*bin 3 c# regex replace newline

我需要用另一个字符(比如'X')替换字符串中的每个换行符.我希望用一个换行符折叠多个换行符!

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

Regex regex_newline = new Regex("(\r\n|\r|\n)+");
Run Code Online (Sandbox Code Playgroud)

Jam*_*ran 15

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

所以基本上,答案是

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

  • @DarinDimitrov:从OP提供的正则表达式中,我假设他想要替换所有形式的换行符(Mac,Linux或ASCII),你可以使用简单的string.Replace() (2认同)
  • 底线我要求一个正则表达式解决方案,这就是答案。不适用于 Environment.NewLine。谢谢你的回答。 (2认同)

小智 8

只需使用该String.Replace方法并替换Environment.NewLine您的字符串.不需要正则表达式.

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

  • 假设文本中的所有换行都正确形成,而他提供的代码则假定它们不会. (8认同)