龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

深入使用LIKE操作符

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
在VB中,相对于本身的潜在功能,LIKE可能是最被忽视的一个操作符了。它的最基本用途是检查一个字符串与给定样式的匹配程度。比如,很容易检查一个产品ID号是否由一个字母以及3个
在VB中,相对于本身的潜在功能,LIKE可能是最被忽视的一个操作符了。它的最基本用途是检查一个字符串与给定样式的匹配程度。比如,很容易检查一个产品ID号是否由一个字母以及3个数字组成:

IfProductIDLike"[A-Za-z][0-9][0-9][0-9]"ThenPrint"OK"

'thisisequivalment,because"#"standsforadigit

IfProductIDLike"[A-Za-z]###"ThenPrint"OK"

除了上述基本功能,LIKE在其他情况下也非常有用。以下就一一列举:

比如,可以检查一个字符串只包含大写字母:

IfNotProductIDLike"*[!A-Z]*"ThenPrint"OK"

同理,也可以检查一个字符串只包含数字:

IfNotProductIDLike"*[!0-9]*"ThenPrint"OK"

下面的语句检查一个字符串只包含字母或者数字符:

IfNotProductIDLike"*[!A-Za-z0-9]*"ThenPrint"OK"

下面的语句检查一个字符串是否为合法的VB变量名,就是说,开头是一个字母,接着跟随字母或数字符:

'VarName是被检查的字符串

IfVarNamelike"[A-Za-z]*"AndNotMid$(VarName,2)Like"*[!A-Z_a-z0-9]*"_

ThenPrint"OK"

下面的语句检查字符串是否至少包含2个空格(连续的或者间隔的):

IfTestStringLike"***"ThenPrint"OK"

而下面的语句进一步确认2个空格是不连续的:

IfTestStringLike"*?**"ThenPrint"OK"

检查一个有符号整数是很复杂的事情,因为必须计算出前导符号并且计算好"#"符号的正确数目:

'NumValue是被检测的字符串

IfNumValueLike"#"Or(Len(NumValue)>1AndNumValueLike"[- 0-9]"&_

String$(Len(NumValue)-1,"#"))ThenPrint"OK"

最后一个例子是:检测NumValue是否包含一个有符号的十进制数值。这种情况下,我们必须要确定存在一个前导符号以及只有一个十进制分隔符,并且所有其他字符都是数字符:

'NumValue是被检测的字符串

IfNumValueLike"#"Or(Len(NumValue)>1AndLeft$(NumValue,_

1)Like"[- .0-9]"AndNotMid$(NumValue,2)Like"*[!.0-9]*"AndNot_

NumValueLike"*.*.*")ThenPrint"OK"

->

精彩图集

赞助商链接