我在C#字符串中有一些html代码。如果我查看Visual Studio的Text Visualizer,我可以看到它有很多新行。但是,在我应用此代码后
string modifiedString = originalString.Replace(Environment.NewLine, "<br />");
然后我在ModifiedString上查看Text Visualizer我可以看到它除了3个地方之外没有任何新行。还有其他任何字符类型,而不是类似换行符,我错过了吗?
答案 0 :(得分:16)
他们可能只是\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 />");
答案 1 :(得分:3)
处理这个问题的一个好方法是使用正则表达式。
string modifiedString = Regex.Replace(originalString, @"(\r\n)|\n|\r", "<br/>");
这将用html标签替换3种合法类型的换行符。