如何在字符串中找到所有CR + LF?

bro*_*oke 4 .net c#

我正试图用<br/>C#中的标签替换所有的carrage返回.我以为这会照顾一切:

StringBuilder sb = new StringBuilder(s);
sb.Replace(System.Environment.NewLine, @"<br/>");
Run Code Online (Sandbox Code Playgroud)

但显然不是.它似乎没有抓住CR+LF.

Jon*_*eet 9

这将工作,如果 Environment.NewLine是CR + LF,它很可能是在Windows上.当然,它不会捕获字符串实际上只包含换行符或仅包含回车符的情况.也许你想要:

StringBuilder sb = new StringBuilder(s).Replace("\r\n", "<br/>")
                                       .Replace("\n", "<br/>")
                                       .Replace("\r", "<br/>");
Run Code Online (Sandbox Code Playgroud)

(请注意,使用逐字字符串文字"<br/>"没有意义,因为字符串中没有反斜杠,而且它只是一行.)

  • @JimSchubert - 必须是心灵识别软件或者其他东西:) (2认同)