VB 使用 html 注释作为分隔符拆分字符串

VB split string using html comment as delimiter

我正在使用 VB 通过 stringbuilder 创建一个 html 文档。我想拆分 stringbuilder 并在一些 html 评论之间添加更多文本。字符串生成器看起来有点像这样:

<html>
<!--STYLE-->
<style>
</style>
<!--STYLE-->
</html>

我以为我能做到:

dim split_doc() as string = sb.tostring().split("<!--STYLE-->")

然而,结果是 stringbuilder 仅在 < 而不是完整的 html 评论上拆分。

是否可以使用 html 评论拆分?

您应该激活源代码文件顶部的 Option Strict On 语句来检测和防止此类问题。

可能发生的情况是,当 Option Strict 被停用时,<!--STYLE--> 单词只是变成一个字符数组来调用 String.Split 函数,该函数接受一个 Char,然后在找到组成 <!--STYLE--> 单词的任何字符时拆分内容,从“<”字符开始。

要解决这个问题,只需使用以字符串作为参数的 String.Split 函数的正确重载,这样:

        Dim html As String =
<a><![CDATA[
<html>
<!--STYLE-->
<style>
</style>
<!--STYLE-->
</html>
]]></a>.Value

    Dim tokens As String() = 
        html.Split({"<!--STYLE-->"}, StringSplitOptions.RemoveEmptyEntries)