替换HTML中特定HTML子字符串的简单方法

本文关键字:HTML 简单 方法 字符串 替换 | 更新日期: 2023-09-27 18:26:39

我有

OldPattern = <div style="page-break-after: always"><span style="display: none;">&nbsp;</span></div>

在一些主Html中。

我想替换为:

NewPattern = <br> <br style="page-break-after: always;" />

我相信我可以做这样的事情:

NewHtml = OldHtml.Replace(OldPattern, NewPattern)

当然,由于双引号等原因,作业无法完成。这就是我陷入困境的地方。

感谢您的帮助。

替换HTML中特定HTML子字符串的简单方法

您需要像这样转义引号'"。这很好用:

string oldPattern = "<div style='"page-break-after: always'"><span style='"display: none;'">&nbsp;</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;'">&nbsp;</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;"">&nbsp;</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);