如何在vb.net中检查字符串是否包含特殊字符?

时间:2018-02-19 08:24:33

标签: string vb.net special-characters

我想检查输入是否包含特殊字符(@" [~`!@#$%^& *() - + = | {}' :;。,<> ; /?]")或不在vb.net中?

如何在vb.net代码中检查?

2 个答案:

答案 0 :(得分:3)

如果要检查字符串中是否包含任何提到的字符,可以使用以下函数:

Function ContainsSpecialChars(s As String) As Boolean
    Return s.IndexOfAny("[~`!@#$%^&*()-+=|{}':;.,<>/?]".ToCharArray) <> -1
End Function

或者,如果要检查字符串是否只包含字母,数字或空格,可以使用以下函数:

Function ContainsSpecialChars(s As String) As Boolean
    Return s.Any(Function(c) Not (Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c)))
End Function

答案 1 :(得分:2)

如果字符串只能包含字母或数字(0-9)或空格:

Dim noSpecialCharacters = text.
    All(Function(c) Char.IsLetterOrDigit(c) OrElse Char.IsWhiteSpace(c))

Dim containsSpecialCharacters = Not noSpecialCharacters