可以添加一个 String.contains 多个值吗?
Is possible to add a String.contains more than one value?
我想在创建 companyId 时进行控制,以不允许创建带有特殊字符的 ID,例如 (&)、(/)、()、(ñ)、('):
If txtIdCompany.Text.Contains("&") Then
// alert error message
End If
但是我做不到:
If txtIdCompany.Text.Contains("&", "/", "\") Then
// alert error message
End If
如何检查同一行中的多个字符串?
您可以使用 Char()
和 Enumerable.Contains
等集合。由于 String
实现了 IEnumerable(Of Char)
,甚至这个简洁高效的 LINQ 查询也能工作:
Dim disallowed = "&/\"
If disallowed.Intersect(txtIdCompany.Text).Any() Then
' alert error message
End If
这里有一个类似的方法,使用 Enumerable.Contains
:
If txtIdCompany.Text.Any(AddressOf disallowed.Contains) Then
' alert error message
End If
第三个选项使用String.IndexOfAny
:
If txtIdCompany.Text.IndexOfAny(disallowed.ToCharArray()) >= 0 Then
' alert error message
End If
If txtIdCompany.Text.Contains("&") Or txtIdCompany.Text.Contains("\") Or txtIdCompany.Text.Contains("/") Then
// alert error message
End If
我想在创建 companyId 时进行控制,以不允许创建带有特殊字符的 ID,例如 (&)、(/)、()、(ñ)、('):
If txtIdCompany.Text.Contains("&") Then
// alert error message
End If
但是我做不到:
If txtIdCompany.Text.Contains("&", "/", "\") Then
// alert error message
End If
如何检查同一行中的多个字符串?
您可以使用 Char()
和 Enumerable.Contains
等集合。由于 String
实现了 IEnumerable(Of Char)
,甚至这个简洁高效的 LINQ 查询也能工作:
Dim disallowed = "&/\"
If disallowed.Intersect(txtIdCompany.Text).Any() Then
' alert error message
End If
这里有一个类似的方法,使用 Enumerable.Contains
:
If txtIdCompany.Text.Any(AddressOf disallowed.Contains) Then
' alert error message
End If
第三个选项使用String.IndexOfAny
:
If txtIdCompany.Text.IndexOfAny(disallowed.ToCharArray()) >= 0 Then
' alert error message
End If
If txtIdCompany.Text.Contains("&") Or txtIdCompany.Text.Contains("\") Or txtIdCompany.Text.Contains("/") Then
// alert error message
End If