好的,所以我想检查一个大字符串是否包含数组中许多其他字符串中的一个(任何)。
我可以遍历该数组并执行“如果最大环.contains(arrayitem) 执行某些操作然后退出”,但我觉得这可能效率低下,尤其是在字符串数组非常大的情况下。
另外,性能会根据找到的字符串在数组中的位置而有所不同。有没有更好的方法来做到这一点?
我认为最好的方法是使用正则表达式
Imports System.Text.RegularExpressions
Dim arrayitems As New Regex(arrayitem(0) & "|" & arrayitem(1) & "|" & arrayitem(2))
If arrayitems.IsMatch(largestring) Then
'Exists
'...
End If
另一种选择是使用 IndexOf (理论上)比 Contains 略快
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
暗淡结果 As String() = Array.FindAll(arr, Function(s) s.Contains("whatever"))