替换HTML中特定HTML子字符串的简单方法
本文关键字:HTML 简单 方法 字符串 替换 | 更新日期: 2023-09-27 18:26:39
我有
OldPattern = <div style="page-break-after: always"><span style="display: none;"> </span></div>
在一些主Html中。
我想替换为:
NewPattern = <br> <br style="page-break-after: always;" />
我相信我可以做这样的事情:
NewHtml = OldHtml.Replace(OldPattern, NewPattern)
当然,由于双引号等原因,作业无法完成。这就是我陷入困境的地方。
感谢您的帮助。
您需要像这样转义引号'"
。这很好用:
string oldPattern = "<div style='"page-break-after: always'"><span style='"display: none;'"> </span></div>";
string newPattern = "<br> <br style='"page-break-after: always;'" />";
NewHtml = OldHtml.Replace(oldPattern, newPattern);
您需要转义字符串中的双引号。你可以通过以下方式做到这一点:
在正常字符串中:
在要转义的字符之前使用反斜杠('
):
string escaped = "'"Hello'"";
这将把"Hello"
分配给转义。
逐字逐句:
在字符串中使用两个双引号,如下所示:
string escaped = @"""Hello""";
这将把"Hello"
分配给转义。
在您的情况下:
OldPattern = "<div style='"page-break-after: always'"><span style='"display: none;'"> </span></div>"
NewPattern = "<br> <br style='"page-break-after: always;'" />"
NewHtml = OldHtml.Replace(OldPattern, NewPattern)
您也可以在字符串前面使用@,并使用"进行转义,这使代码更具可读性
OldPattern = @"<div style=""page-break-after: always""><span style=""display: none;""> </span></div>"
NewPattern = @"<br> <br style=""page-break-after: always;"" />"
NewHtml = OldHtml.Replace(OldPattern, NewPattern)
您也可以进行
string OldPattern = string.Format("<div style='"{0}'"><span style='"{1}'"</span></div>", "page-break-after: always", "display: none;");
string NewPattern = string.Format("<br><br style='"{0}'"/>","page-break-after: always;");
NewHtml = OldHtml.Replace(oldPattern, newPattern);