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)