gpt4 book ai didi

VB.NET - 添加超过 1 个字符串到 .contains

转载 作者:行者123 更新时间:2023-12-01 11:09:02 25 4
gpt4 key购买 nike

我有一个 HTMLElementCollection,我正在使用 For Each 循环查看 InnerHTML 是否包含某些词。如果它们确实包含这些关键字中的任何一个,它就会被保存到一个文件中。

一切正常,但我想知道是否有简化的方法。这是一个示例

For Each Helement As HtmlElement In elements

If Helement.InnerHtml.Contains("keyword1") Or Helement.InnerHtml.Contains("keyword2") Or Helement.InnerHtml.Contains("keyword3") Or Helement.InnerHtml.Contains("keyword4") Or Helement.InnerHtml.Contains("keyword5") = True Then
' THE CODE TO COPY TO FILE
End If

Next Helement

是否存在任何可以像这样工作的东西:

If Helement.InnerHtml.Contains("keyword1", "keyword2", "keyword3", "keyword4", "keyword5")

我现在做这件事的方式看起来很浪费,而且我对此非常强制症。

最佳答案

1) 一种方法是将 InnerHtml 字符串与包含关键字作为替代列表的正则表达式相匹配:

Imports System.Text.RegularExpressions

Dim keywords As New Regex("keyword1|keyword2|keyword3")

...

If keywords.IsMatch(HElement.InnerHtml) Then ...

如果您事先知道所有关键字,这应该会很有效。

2) 另一种方法是构建关键字列表,然后将 InnerHtml 字符串与列表的每个元素进行比较:

Dim keywords = {"keyword1", "keyword2", "keyword3"}

...

For Each keyword As String In keywords
If HElement.InnerHtml.Contains(keyword) Then ...
Next

编辑:Rob 建议的扩展方法会产生比上述方法 #2,IMO 更优雅的代码。

关于VB.NET - 添加超过 1 个字符串到 .contains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com