わかりましたので、大きな文字列に配列内の他の多くの文字列の 1 つ (いずれか) が含まれているかどうかを確認したいと思います。
その配列をループして、「if largestring.contains(arrayitem) do something then exit for」を実行できますが、特に文字列の配列が非常に大きい場合、これはおそらく非効率的だと思います。
さらに、パフォーマンスは、見つかった文字列の配列内の位置によって異なります。これを行うより良い方法はありますか?
私が思う最善のアプローチは、正規表現を使用することです
Imports System.Text.RegularExpressions
Dim arrayitems As New Regex(arrayitem(0) & "|" & arrayitem(1) & "|" & arrayitem(2))
If arrayitems.IsMatch(largestring) Then
'Exists
'...
End If
別の代替手段は、(理論的には)Contains よりわずかに高速な IndexOf を使用することです。
Dim str As String = "Hello World."
' Does the string contain "World"?
If (str.IndexOf("World") <> -1) Then
Console.Write("string contains 'World'")
Else
Console.Write("string does not contain 'World'")
End If
Dim result As String() = Array.FindAll(arr, Function(s) s.Contains("whatever"))