好的,所以我想检查一个大字符串是否包含一个数组中的许多其他字符串中的一个(任何)。
我可以遍历该数组并执行'if largestring.contains(arrayitem)做某事然后退出'但我觉得这可能是低效的,特别是如果字符串数组非常大。
另外,性能会根据找到的字符串数组中的位置而有所不同 有更好的方法吗?
答案 0 :(得分:3)
最佳方法我认为是使用正则表达式
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
答案 1 :(得分:1)
Dim result As String()= Array.FindAll(arr,Function(s)s.Contains(“whatever”))