VB.NET 检测字符串是否符合一个数组中的多个like条件,有没有最简单的函数?
在VB.NET中,可以使用Enumerable.Any
方法结合String.Like
方法来检测一个字符串是否符合一个数组中的多个LIKE
条件。Enumerable.Any
方法用于确定序列中的任何元素是否满足指定的条件,而String.Like
方法用于比较字符串是否与指定的模式匹配。
以下是一个示例代码,演示如何使用Enumerable.Any
方法和String.Like
方法来检测一个字符串是否符合一个数组中的多个LIKE
条件:
复制Dim patterns As String() = {"*abc*", "*def*", "*xyz*"}
Dim input As String = "abcdef"
' 检测字符串是否符合数组中的多个LIKE条件
Dim isMatch As Boolean = Array.Exists(patterns, Function(pattern) input Like pattern)
' 输出结果
If isMatch Then
Console.WriteLine("字符串符合数组中的多个LIKE条件")
Else
Console.WriteLine("字符串不符合数组中的多个LIKE条件")
End If
在上述示例中,patterns
是一个包含多个LIKE
条件的字符串数组,input
是要检测的字符串。Enumerable.Any
方法结合Function(pattern) input Like pattern
作为条件,用于检测input
是否与patterns
中的任何一个条件匹配。
希望这可以帮助到你!
自已包装一下,这样看的更人性化:LikeArray(input,LikeArr1)
Function LikeArray(Str1 As String,LikeArr1() As String) As Boolean
Return Array.Exists(LikeArr1, Function(LikeArrObj) Str1 Like LikeArrObj)
End Function
Dim LikeArr1 As String() = {"*abc*", "*def*", "*xyz*"}
Dim input As String = "bcdef"
LikeArray(input,LikeArr1)
msgbox( "字符串符合数组中的多个LIKE条件" & LikeArray(input,LikeArr).ToString )
循环的方法:
Function LikeArrayFor(Str As String, Arr1() As String) As Boolean
For Each LikeItem In Arr1
If Str Like LikeItem Then
Return True
End If
Next
Return False
End Function