-
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 ThenConsole.WriteLine("字符串符合数组中的多个LIKE条件") ElseConsole.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 FunctionDim 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 BooleanFor Each LikeItem In Arr1If Str Like LikeItem ThenReturn TrueEnd IfNextReturn FalseEnd Function