gpt4 book ai didi

vb.net 字符串仅包含 4 位数字(或年份)

转载 作者:行者123 更新时间:2023-12-02 09:38:14 25 4
gpt4 key购买 nike

如何检查字符串是否只包含 4 位数字(或年份)
我试过这个

 Dim rgx As New Regex("^/d{4}")      
Dim number As String = "0000"
Console.WriteLine(rgx.IsMatch(number)) // true
number = "000a"
Console.WriteLine(rgx.IsMatch(number)) // false
number = "000"
Console.WriteLine(rgx.IsMatch(number)) //false
number = "00000"
Console.WriteLine(rgx.IsMatch(number)) // true <<< :(

当少于 4 个或 at 个字符但不超过 4 个时返回 false

谢谢!

最佳答案

我实际上不会为此使用正则表达式。该表达式看似简单 (^\d{4}$),直到您意识到还需要计算该数值以确定有效的年份范围...除非您想要像 这样的年份>00139015。无论如何,您最终很可能希望该值是整数。鉴于此,最好的验证可能就是立即尝试将其转换为整数:

Dim numbers() As String = {"0000", "000a", "000", "00000"}
For Each number As String In numbers
Dim n As Integer
If Integer.TryParse(number, n) AndAlso number.Length = 4 Then
'It's a number. Now look at other criteria

End If
Next

关于vb.net 字符串仅包含 4 位数字(或年份),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com