LIke:用來比較兩個字串。
Like 運算子的文法具有以下幾個部分:
| 部分 |
描述 |
| result |
必需的;任何數值變數。 |
| string |
必需的;任何字串運算式。 |
| pattern |
必需的;任何字串運算式,遵循“說明”中的模式比對約定。 |
如果 string 與 pattern
匹配,則 result 為True;如果不匹配,則result 為
False。但是如果 string 或
pattern 中有一個為 Null,則 result 為Null
內建的模式比對功能提供了多種工具來進行字串比較。有了模式比對功能就可以使用萬用字元、字串列表或字元區間的任何組合來匹配字串。下列表格指出pattern 中允許的字元以及它們與什麼進行匹配:
| pattern 中的字元 |
符合 string 中的 |
| ? |
任何單一字元。 |
| * |
零個或多個字元。 |
| # |
任何一個數字 (0–9)。 |
| [charlist] |
charlist.中的任何單一字元。 |
| [!charlist] |
不在 charlist 中的任何單一字元。 |
在中括弧 ([ ]) 中,可以用由一個或多個字元 (charlist) 組成的組與string 中的任一字元進行匹配,這個組幾乎包括任何一個字元代碼以及數字。
注意 為了與左括弧 ([)、問號 (?)、數字記號 (#) 和星號 (*) 等特殊字元進行匹配,可以將它們用方括弧括起來。不能在一個組內使用右括弧 (]) 與自身匹配,但在組外可以作為個別字元使用。
通過在範圍的上、下限之間用連字號 (–),charlist 可以指定字元的範圍。例如,如果string 中相應字元的位置包括 A–Z 之間的任意大寫字母,則[A-Z] 得到一個匹配。不需要分界符,方括弧內就可以包括多個範圍
下面列舉的是模式比對的其它重要規則:
- charlist 開頭的驚歎號(!) 意味著,如果在string 中找到任何不屬於charlist 的字元,則存在一個匹配。如果在方括弧之外使用驚歎號,則驚歎號與自身匹配。
- 連字號 (–) 可以出現在 charlist的開頭(如果使用驚歎號,則在驚歎號之後),也可以出現在 charlist的結尾與自身匹配。在任何其它地方,連字號用來識別字元的範圍。
- 當指定了字元範圍時,這些字元必須按照升序(從最小到最大)順序來顯示。
[A-Z] 是有效模式,但 [Z-A] 不是。
- 字元序列
[] 被看作是長度為零的字串 ("")。
本樣本使用 Like 運算子做字串的方式比較。
本樣本使用 Like 運算子做字串的方式比較。Dim MyCheckMyCheck = "aBBBa" Like "a*a" ' 返回 True。MyCheck = "F" Like "[A-Z]" ' 返回 True。MyCheck = "F" Like "[!A-Z]" ' 返回 False。MyCheck = "a2a" 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。
利用like運算子可以簡單的實現文字框的限制字元:如只限制輸入數字和字母:
Private Sub Text1_Change()Dim s As StringFor i = 1 To Len(Text1)s = Mid(Text1, i, 1)If s Like "[!0-9]" And s Like "[!A-Z]" And s Like "[!a-z]" ThenText1 = Replace(Text1, s, "")End IfNextEnd Sub
註:資料摘自msdn,今天再限制範圍的時候感覺特別好用,又複習一遍。