我在 C# 字符串中有一些 html 代码。如果我使用 Visual Studio 的文本可视化器查看,我可以看到其中有许多换行符。但是,在我应用此代码之后
string modifiedString = originalString.Replace(Environment.NewLine, "<br />");
然后我在 modifiedString 处使用文本可视化器查看,我可以看到它除了 3 个位置之外没有任何换行符。除了类似于换行符之外还有其他字符类型而我失踪了吗?
他们可能只是一个\r
或一个\n
。我刚刚检查过,VS 2010 中的文本可视化器显示为换行符和\r\n
.
这个字符串
string test = "blah\r\nblah\rblah\nblah";
显示为
blah
blah
blah
blah
在文本可视化器中。
所以你可以试试
string modifiedString = originalString
.Replace(Environment.NewLine, "<br />")
.Replace("\r", "<br />")
.Replace("\n", "<br />");
处理这个问题的一个好方法是使用正则表达式。
string modifiedString = Regex.Replace(originalString, @"(\r\n)|\n|\r", "<br/>");
这将用 html 标记替换 3 种合法类型的换行符中的任何一种。