2015-11-08 27 views
1

我正在使用VB创建一个使用stringbuilder的html文档。我想拆分stringbuilder并在一些html注释之间添加更多的文本。该字符串生成器看起来有点像这样:使用html注释作为分隔符的VB拆分字符串

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

我想我能够做到:

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

然而结果是,StringBuilder的是在<只拆分,而不是完整的HTML评论。

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

回答

0

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

可能发生的事情是,当Option Strict被禁用,则<!--STYLE-->字只是变成字符数组调用String.Split函数,它的Char数组,然后将其拆分内容时的任何字符的构成所述找到<!--STYLE-->单词,从“<”字符开始。

要解决此问题,只需使用String.Split功能的正确重载需要一个字符串作为paramater,这种方式:

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

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

谢谢!我查了严格的选项,并没有真正理解它(我是一个新手!),但将我的分隔符放入数组括号并添加stringsplitoptions工作。 – grumpasaurus

+0

刚开始我的头也很严格,这真的很有帮助。希望我有足够的代表给你一个赞成票! – grumpasaurus

+0

不客气。如果您希望为每个新的源文件自动激活Option语句,请参阅此链接中的**更改默认项目值**部分:https://support.microsoft.com/en-us/kb/311329 – ElektroStudios

相关问题