巧用Like運算子

來源:互聯網
上載者:User

LIke:用來比較兩個字串。

Like 運算子的文法具有以下幾個部分:

部分 描述
result 必需的;任何數值變數。
string 必需的;任何字串運算式。
pattern 必需的;任何字串運算式,遵循“說明”中的模式比對約定。

如果 string pattern
匹配,則 resultTrue;如果不匹配,則result
False。但是如果 string
pattern 中有一個為 Null,則 resultNull

內建的模式比對功能提供了多種工具來進行字串比較。有了模式比對功能就可以使用萬用字元、字串列表或字元區間的任何組合來匹配字串。下列表格指出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,今天再限制範圍的時候感覺特別好用,又複習一遍。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.