📅  最后修改于: 2023-12-03 15:20:58.324000             🧑  作者: Mango
在 VB.NET 中,我们可以使用 IsNumeric
函数检查一个字符串是否为数字类型。但是,如果我们只想检查一个字符串是否只包含数字,该怎么办呢?
我们可以使用正则表达式来解决这个问题。以下是一个示例函数,可以用来检查一个字符串是否只包含数字:
Imports System.Text.RegularExpressions
Public Function IsNumericString(ByVal input As String) As Boolean
Dim pattern As String = "^[0-9]+$"
Return Regex.IsMatch(input, pattern)
End Function
这个函数的实现非常简单。我们使用了 System.Text.RegularExpressions
命名空间中的 Regex.IsMatch
方法来匹配一个字符串是否符合正则表达式。
在正则表达式中,^
表示字符串的开头,[0-9]
表示数字,+
表示数量不限,$
表示字符串的结尾。因此,该正则表达式可以匹配由数字组成的任何字符串。如果输入的字符串符合这个正则表达式,那么就返回 True
;否则返回 False
。
下面是一个示例程序,演示了如何调用这个函数:
Sub Main()
Dim str1 As String = "123456"
Dim str2 As String = "1a2b3c"
Dim str3 As String = "abcde"
Console.WriteLine(IsNumericString(str1)) ' 输出 True
Console.WriteLine(IsNumericString(str2)) ' 输出 False
Console.WriteLine(IsNumericString(str3)) ' 输出 False
End Sub
在这个示例程序中,我们定义了三个字符串,分别包含数字和非数字字符。然后分别调用了 IsNumericString
函数,并将结果输出到控制台。可以看到,只有第一个字符串是纯数字,其余两个字符串都不是。