对开发者来说,判定字符串中是否包含特定字符是一件常事。在Visual
Basic 6和.NET一般可以用InStr函数实现上述功能,如下面的代码所示:
If InStr(1, "Test", "T") > 0 Then
'执行对应代码
End If
如果你仅仅在在字符串中查找单个字符或者字符串,那么上面的代码是毫无问题的;但是,如果你需要检查的方式比较复杂——如验证字符串是否和电话号码或者社会保险号码,那么该怎么办呢?对复杂的比较,你可以使用Like运算符。
Like运算符可以让你比较两个字符串来判断它们是否匹配,它还支持通配符。例如,星号(*)代表一个或者多个字符,问号(?)代表单个字符,而井号(#)代表单个数字。另外,通过使用左括号和右括号([、]),你可以指定一个用来匹配的字符集合。
下面的代码给出了几种可以使用Like运算符的方法。
If "(800) 555-5555" Like "(###) ###-####" Then
'有效的电话号码
End If
If "1ABCDEF" Like "#[A-Z]*" Then
'有效
End If
If "1ABCDEF" Like "#[a-z]*" Then
'有效
End If
Like运算符可以简化你的验证有效性逻辑并提高易读性。对比较复杂方式,它也比InStr函数易于使用。