VB.NET如何检查String是否包含字母字符和.?

use*_*930 7 regex vb.net string

使用visual basic,我有一个字符串.想要检查字符串是否包含单个大写字母字符,后跟句点.试图使用包含如下所示:

someString.Contains("[AZ].")但这并没有归还我想要的东西.

还需要检查单个数字后跟一个句点.

我怎么能在Visual Basic中执行此操作

Hel*_*evo 14

在最高等级的答案中,逻辑略微偏离.该函数仅验证第一个字符,然后返回true.这是调整整个字符串中字母字符的调整:

'Validates a string of alpha characters
Function CheckForAlphaCharacters(ByVal StringToCheck As String)
    For i = 0 To StringToCheck.Length - 1
        If Not Char.IsLetter(StringToCheck.Chars(i)) Then
            Return False
        End If
    Next

    Return True 'Return true if all elements are characters
End Function
Run Code Online (Sandbox Code Playgroud)


小智 11

使用此功能:

Function CheckForAlphaCharacters(ByVal StringToCheck As String)


    For i = 0 To StringToCheck.Length - 1
        If Char.IsLetter(StringToCheck.Chars(i)) Then
            Return True
        End If
    Next

    Return False

End Function
Run Code Online (Sandbox Code Playgroud)

用法

    Dim Mystring As String = "abc123"
    If CheckForAlphaCharacters(Mystring) Then
        'do stuff here if it contains letters
    Else
        'do stuff here if it doesn't contain letters
    End If
Run Code Online (Sandbox Code Playgroud)


小智 6

我相信我还有另一种方法可以检查字符串中是否有字母,如果这就是你要检查的内容.说你有一个随机的字符串.示例"12312H231"字符串与此相同,因为如果您使用string.tolower = string.toupper,则其中包含一个字母"12312h231".如果它有一个字母则为false,如果只有数字则为true.

if string1.toupper = string1.tolower then
'string1 is a number
else
'string1 contains a letter
end if
Run Code Online (Sandbox Code Playgroud)


小智 5

显然我不能在这里投票或评论。但是,RegEx 答案是迄今为止解决此问题的最简单和最佳的解决方案。例如,如果您需要测试一个字符串是数字还是 alpa 或字母数字或混合,无论如何,此解决方案可以完成任务。

测试字符串是否为数字"[0-9]*" 仅使用Alpha 仅使用Alpha 所有大写"[A-Z]*" 字母,允许混合大小写:"[A-Z][a-z]*" 两位数字,一个大写字母,然后是六个小写字母,后跟一个数字,即“3”或“7”:"[0-9]{2}[A-Z][a-z]{6}[3,7]"

比如这个语句测试一个字符串是否以两个字母开头并以7位数字结尾:(取自SSRS)

System.Text.RegularExpressions.Regex.ismatch(Fields!YourStringToTest.Value,"[A-Z][a-z]{2}[0-9]{7}")
Run Code Online (Sandbox Code Playgroud)