如何在c#中替换字符串中的换行符?


当前回答

基于@mark-bayers的答案和更清晰的输出:

string result = Regex.Replace(ex.Message, @"(\r\n?|\r?\n)+", "replacement text");

它删除了\r\n, \n和\r,而偏爱较长的一个,并将多次出现简化为一次。

其他回答

基于@mark-bayers的答案和更清晰的输出:

string result = Regex.Replace(ex.Message, @"(\r\n?|\r?\n)+", "replacement text");

它删除了\r\n, \n和\r,而偏爱较长的一个,并将多次出现简化为一次。

将replace替换为Environment。换行符

myString = myString.Replace(System.Environment.NewLine, "replacement text"); //add a line terminating ;

正如在其他文章中提到的,如果字符串来自另一个环境(OS),那么您需要替换特定环境的新行控制字符实现。

使用。net 6中的new方法

myString = myString.ReplaceLineEndings();

替换当前字符串中的所有换行序列。

文档: ReplaceLineEndings

扩展The.Anyi。9的答案,你也应该知道一般使用的不同类型的换行符。根据文件的来源,您可能希望确保捕获所有替代选项…

string replaceWith = "";
string removedBreaks = Line.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);

应该能让你继续…

为什么不是两者都有呢?

string ReplacementString = "";

Regex.Replace(strin.Replace(System.Environment.NewLine, ReplacementString), @"(\r\n?|\n)", ReplacementString);

注意:用输入字符串的名称替换string。