我想创建一个控件,当我创建一个companyId时,不允许使用特殊字符创建id,如(&),(/),(),(ñ),('):
If txtIdCompany.Text.Contains("&") Then
// alert error message
End If
但我不能这样做:
If txtIdCompany.Text.Contains("&", "/", "\") Then
// alert error message
End If
如何检查同一行中的多个字符串?
答案 0 :(得分:7)
您可以使用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
答案 1 :(得分:0)
If txtIdCompany.Text.Contains("&") Or txtIdCompany.Text.Contains("\") Or txtIdCompany.Text.Contains("/") Then
// alert error message
End If