5

我在 C# 字符串中有一些 html 代码。如果我使用 Visual Studio 的文本可视化器查看,我可以看到其中有许多换行符。但是,在我应用此代码之后

string modifiedString = originalString.Replace(Environment.NewLine, "<br />");

然后我在 modifiedString 处使用文本可视化器查看,我可以看到它除了 3 个位置之外没有任何换行符。除了类似于换行符之外还有其他字符类型而我失踪了吗?

4

2 回答 2

18

他们可能只是一个\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 />");
于 2013-01-08T12:29:12.167 回答
4

处理这个问题的一个好方法是使用正则表达式。

string modifiedString = Regex.Replace(originalString, @"(\r\n)|\n|\r", "<br/>");


这将用 html 标记替换 3 种合法类型的换行符中的任何一种。

于 2015-06-10T23:42:46.843 回答