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>
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 == ' ' ? " " : ch.ToString();
var htmlSpan = "<span " + "style=" + '"' + $"background-color: {color};" + "color:white;" + '"' + ">" + concreteChar + "</span>"+"\n";
colorizedOutput.Append(htmlSpan);
}
Console.WriteLine(colorizedOutput.ToString());
TA贡献1804条经验 获得超7个赞
您可以将 htmlspan 简化为
string htmlSpan = $"<span style='background-color: {color};color:white;>{concreteChar}</span>";
这将解决您的问题。
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();
- 4 回答
- 0 关注
- 216 浏览
添加回答
举报