我正在尝试用C#中的<br/>
标记替换所有回车符。我认为这会照顾好一切:
StringBuilder sb = new StringBuilder(s);
sb.Replace(System.Environment.NewLine, @"<br/>");
但显然不是。它似乎没有抓住CR+LF
。
答案 0 :(得分:9)
如果 Environment.NewLine
是CR + LF,那么它将起作用,它可能在Windows上。当然,它不会捕获字符串实际上只包含换行符或仅包含回车符的情况。也许你想要:
StringBuilder sb = new StringBuilder(s).Replace("\r\n", "<br/>")
.Replace("\n", "<br/>")
.Replace("\r", "<br/>");
(请注意,对"<br/>"
使用逐字字符串文字是没有意义的,因为字符串中没有反斜杠,而且它只是一行。)
答案 1 :(得分:3)
如果您确定要更换\ r \ n,为什么不使用string.replace?
s.replace("\r\n", "<br/>")
答案 2 :(得分:3)
通过此代码
input.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n")
答案 3 :(得分:2)
string ReplaceNewlines(string blockOfText, string replaceWith)
{
return blockOfText.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);
}