0

是否可以进行字符串比较,其中我要比较的字符串之一具有通配符并且通常仅用于格式化目的。例如

Dim correctFormat as String = "##-##-###-##"
Dim stringToCheck = someClass.SomeFunctionThatReturnsAStringToCheck
If FormatOf(CorrectFormat) = FormatOF(StringToCheck) then
 Else
End if

我知道组成的 FormatOf 语法,但我只是用它来显示我在问什么。

4

3 回答 3

4

不需要正则表达式。

您可以简单地使用Like支持?,*#作为通配符以及字符列表 ( [...], [!...])的运算符

因此,您只需将代码更改为:

If stringToCheck Like correctFormat Then

它会按预期工作。

于 2013-02-12T14:18:34.310 回答
2

方法是使用正则表达式——这就是它们的用途。

这是与您发布的格式匹配的正则表达式:

^\d{2}-\d{2}-\d{3}-\d{2}$
于 2013-02-12T14:06:37.213 回答
1

正如上一篇文章所提到的,您应该为此目的使用正则表达式 - 它们更适合该任务。可悲的是,学习它们可能会令人困惑,尤其是发现错误可能真的很烦人。我真的很喜欢http://www.regular-expressions.info/http://regexpal.com/之前构建和测试正则表达式。

在 VB.net 中使用类似 reg.ismatch

于 2013-02-12T14:16:57.563 回答