替换不适用于HTML字符串

时间:2020-04-09 12:00:03

标签: c# visual-studio-2013 .net-4.5

作为介绍,我已经使用MS Word创建了一个文档,然后另存为html文档。 从C#中,我正在建立一个无序的html列表(使用MS Word格式),然后通过替换特定的标记将其添加到html文档中。

我在下面的字符串变量unorderedHtmlList中最初初始化为空字符串。然后,我将串联html字符串并替换用“ [[”和“]]”字符括起来的一些标签。由于某些原因,当我应用“替换”时,它不是用新值替换项[[fieldName]]和[[fieldValue]]。参见下面的代码:

textHeader

有什么想法为什么替换不起作用?

1 个答案:

答案 0 :(得分:2)

您正在合成字符串,并且替换操作仅在最后一部分执行。

"color:#222222'><o:p></o:p></span></p>".Replace("[[fieldName]]", name).Replace("[[fieldValue]]", value);

尝试一下:

        unorderedHtmlList += ("<p style='margin-left:36.0pt;text-align:justify;text-indent:-18.0pt;" +
                            "line-height:125%;mso-list:l1 level1 lfo3'><![if !supportLists]><span" +
                            "style='font-size:10.5pt;line-height:125%;font-family:\"Arial\",sans-serif;" +
                            "mso-fareast-font-family:Arial;color:#222222'><span" +
                            "style='mso-list:Ignore'>-<span style='font:7.0pt \"Times New Roman\"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                            "</span></span></span><![endif]><span style='font-size:10.5pt;" +
                            "line-height:125%;font-family:\"Arial\",sans-serif;color:#222222'>[[fieldName]]" +
                            "</span><span style='font-size:10.5pt;line-height:125%;font-family:" +
                            "\"Helvetica\",sans-serif;color:#222222'>[[fieldValue]]</span><span" +
                            "style='font-size:10.5pt;line-height:125%;font-family:\"Arial\",sans-serif;" +
                            "color:#222222'><o:p></o:p></span></p>").Replace("[[fieldName]]", name).Replace("[[fieldValue]]", value);