VB編程中 LIKE操作符的使用方法


相對於本身的潛在功能,L I K E可能是最被忽視的一個操作符了。它的最基本用途是檢查一個字符串與給定樣式的匹配程度。

 

    比如,很容易檢查一個產品ID號是否由一個字母以及3個數字組成:

    If ProductID Like "[A-Za-z][0-9][0-9][0-9]" Then Print "OK"

       或者:

       If ProductID Like "[A-Za-z]###" Then Print "OK" 

 

    除了上述基本功能,LIKE在其他情況下也非常有用。

    比如,可以檢查一個字符串只包含大寫字母:

    If Not StringVar Like "*[!A-Z]*" Then Print "OK"

    同理,也可以檢查一個字符串只包含數字:

    If Not StringVar Like "*[!0-9]*" Then Print "OK"

       檢查一個字符串只包含字母或者數字符:

    If Not StringVar Like "*[!A-Za-z0-9]*" Then Print "OK"

 

       檢查一個字符串是否為合法的VB變量名,就是說,開頭是一個字母,接着跟隨字母或數字符:

       If VarName like "[A-Za-z]*" And Not Mid$(VarName, 2) Like "*[!A-Z_a-z0-9]*" Then Print "OK"

 

       檢查字符串是否至少包含2個空格(連續的或者間隔的):

    If TestString Like "* * *" Then Print "OK"

       進一步確認2個空格是不連續的:

    If TestString Like "* ?* *" Then Print "OK"

      

    檢查一個有符號整數是很復雜的事情,因為必須計算出前導符號並且計算好"#"符號的正確數目:

    If NumValue Like "#" Or (Len(NumValue) > 1 And NumValue Like "[-+0-9]" & String$(Len(NumValue) - 1, "#")) Then Print "OK"

      

       檢測NumValue是否包含一個有符號的十進制數值。這種情況下,我們必須要確定存在一個前導符號以及只有一個十進制分隔符,並且所有其他字符都是數字符:

    If NumValue Like "#" Or (Len(NumValue) > 1 And Left$(NumValue, 1) Like "[-+.0-9]" And Not Mid$(NumValue, 2) Like "*[!.0-9]*" And Not NumValue Like "*.*.*" ) Then Print "OK"

 

       附:Like 運算符示例

    Dim MyCheck
       MyCheck = "aBBBa" Like "a*a"   ' 返回 True。 
       MyCheck = "F" Like "[A-Z]"   ' 返回 True。
       MyCheck = "F" Like "[!A-Z]"   ' 返回 False。
       MyCheck = "a 2a" Like "a#a"   ' 返回 True。
       MyCheck = "aM5b" Like "a[L-P]#[!c-e]"   ' 返回 True。
       MyCheck = "BAT123khg" Like "B?T*"   ' 返回 True。
       MyCheck = "CAT123khg" Like "B?T*"   ' 返回 False。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM