我通过一个事件得到一个字符串消息,我把它放在一个TextBox中.不幸的是,这条消息有很多空行.如何用一个替换两个空行?
我的第一个想法是这样的:
string newLine = Environment.NewLine;
textbox.text = msg.Replace(newLine + newLine, newLine);
Run Code Online (Sandbox Code Playgroud)
我相信有更好的方法来实现这一目标.
你可以用RegEx.Replace.
事实上,关于该功能的MSDN文章展示了如何摆脱太多的空白,非常接近你想要做的事情:
http://msdn.microsoft.com/en-us/library/xwewhkd1.aspx
但是,出于您的目的,而不是寻找空白:
"\\s+";
Run Code Online (Sandbox Code Playgroud)
您想查找换行符:
"\\n+";
Run Code Online (Sandbox Code Playgroud)
如何利用string.Split()该选项RemoveEmptyEntries:
message = string.Join(Environment.NewLine, message.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries));
Run Code Online (Sandbox Code Playgroud)
这也将连续覆盖两个以上的新行,而不是仅仅两个.