为了账号安全,请及时绑定邮箱和手机立即绑定

StringBuilder.Append 删除 '\r' 和 '\n' 标签

StringBuilder.Append 删除 '\r' 和 '\n' 标签

C#
HUH函数 2022-12-31 13:18:04
我在我的cshtml.StringBuilder colorizedOutput = new StringBuilder();string concreteChar = outputArray[j] == ' ' ? "&#160;" : outputArray[j].ToString();string htmlSpan = "<span " + "style=" + '"' + $"background-color: {color};" + "color:white;" + '"' + ">" + concreteChar + "</span>";colorizedOutput.Append(htmlSpan);@Html.Raw(colorizedOutput.ToString())此字符串中的每个字符都是一个span.我htmlSpan的 with"\r"标签是这样的:"<span style=\"background-color: red;color:white;\">\r</span>"但.Appned方法是这样保存的:"<span style=\"background-color: red;color:white;\"></span>"如您所见,\r标签消失了。我的问题是,如何处理中的\r\n标签StringBuilder?
查看完整描述

4 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

当您将字符串附加到 StringBuilder 时,所有转义字符都将被删除。您可以执行以下操作来保留它们。


 var sb = new StringBuilder();

 var html = "<span style=\"background-color: red;color:white;\">\\r</span>";

 sb.Append(html);

请注意,我已更改\r为\\r.


输出


当您尝试打电话时sb.ToString()


<span style="background-color: red;color:white;">\r</span>


查看完整回答
反对 回复 2022-12-31
?
偶然的你

TA贡献1841条经验 获得超3个赞

有用


var someString = @"Chunk1 \r\n Chunk2";

var color = "red";

var colorizedOutput = new StringBuilder();

foreach (var ch in someString.ToCharArray())

{

    var concreteChar = ch == ' ' ? "&#160;" : ch.ToString();

    var htmlSpan = "<span " + "style=" + '"' + $"background-color: {color};" + "color:white;" + '"' + ">" + concreteChar + "</span>"+"\n";

    colorizedOutput.Append(htmlSpan);

}

Console.WriteLine(colorizedOutput.ToString());

这就是我得到的


查看完整回答
反对 回复 2022-12-31
?
三国纷争

TA贡献1804条经验 获得超7个赞

您可以将 htmlspan 简化为

string htmlSpan = $"<span style='background-color: {color};color:white;>{concreteChar}</span>";

这将解决您的问题。


查看完整回答
反对 回复 2022-12-31
?
ibeautiful

TA贡献1993条经验 获得超5个赞

只需使用 Environment.NewLine 属性


就像是


StringBuilder colorizedOutput = new StringBuilder();

colorizedOutput.AppendFormat("<span style=\"background-color: red;color:white;\">{0} 

</span>", Environment.NewLine);

string s = sb.ToString();


查看完整回答
反对 回复 2022-12-31
  • 4 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信