回覆列表
  • 1 # 使用者5635123734932

    Like 運算子 用來比較兩個字串。語法result = string Like patternLike 運算子的語法具有以下幾個部分:部分 描述 result 必需的;任何數值變數。 string 必需的;任何字串表示式。 pattern 必需的;任何字串表示式,遵循“說明”中的模式匹配約定。 說明如果 string 與 pattern 匹配,則 result 為 True;如果不匹配,則 result 為 False。但是如果 string 或 pattern 中有一個為 Null,則 result 為 Null。Like 運算子的特性隨著 Option Compare 語句而不同。每個模組的預設字串比較方法是 Option Compare Binary。在字串比較中,Option Compare Binary 的結果是根據字元的內部二進位制表示法匯出的排序順序得到的。在 Microsoft Windows 中,排序順序由內碼表決定。下例說明通常二進位制的排序順序:A < B < E < Z < a < b < e < z < _ < _ < _ < _ < _ < ?/FONT>在字串比較中,Option Compare Text 的結果是字串比較,它建立在不區分大小寫的文字排序順序基礎上,而這一排序順序是由系統的國別確定的。在對相同的字元使用 Option Compare Text 時會產生以下文字排序順序:(A=a) < (_=_) < (B=b) < (E=e) < (_=_) < (Z=z) < (_=_) 內建的模式匹配功能提供了多種工具來進行字串比較。有了模式匹配功能就可以使用萬用字元、字串列表或字元區間的任何組合來匹配字串。下列表格指出 pattern 中允許的字元以及它們與什麼進行匹配:pattern 中的字元 符合 string 中的 ? 任何單一字元。 * 零個或多個字元。 # 任何一個數字 (0–9)。 [charlist] charlist.中的任何單一字元。 [!charlist] 不在 charlist 中的任何單一字元。 在中括號 ([ ]) 中,可以用由一個或多個字元 (charlist) 組成的組與 string 中的任一字元進行匹配,這個組幾乎包括任何一個字元程式碼以及數字。注意 為了與左括號 ([)、問號 (?)、數字符號 (#) 和星號 (*) 等特殊字元進行匹配,可以將它們用方括號括起來。不能在一個組內使用右括號 (]) 與自身匹配,但在組外可以作為個別字元使用。透過在範圍的上、下限之間用連字元 (–),charlist 可以指定字元的範圍。例如,如果 string 中相應字元的位置包括 A–Z 之間的任意大寫字母,則 [A-Z] 得到一個匹配。不需要分界符,方括號內就可以包括多個範圍。指定範圍的意義取決於執行時的有效字元排序(正如 Option Compare 和系統的國別設定所確定的,程式碼在執行之中)。使用 Option Compare Binary 示例可以看到,範圍 [A–E] 與 A、B 和 E 相匹配。透過 Option Compare Text 可以看到,[A–E] 與 A, a, _, _, B, b, E, e 相匹配。此範圍與 _ 或 _ 不匹配,因為按照排序順序,重音字元在非重音字元之後。下面列舉的是模式匹配的其它重要規則: charlist 開頭的驚歎號 (!) 意味著,如果在 string 中找到任何不屬於 charlist 的字元,則存在一個匹配。如果在方括號之外使用驚歎號,則驚歎號與自身匹配。連字元 (–) 可以出現在 charlist 的開頭(如果使用驚歎號,則在驚歎號之後),也可以出現在 charlist 的結尾與自身匹配。在任何其它地方,連字元用來識別字符的範圍。當指定了字元範圍時,這些字元必須按照升序(從最小到最大)順序來顯示。[A-Z] 是有效模式,但 [Z-A] 不是。字元序列 [] 被看作是長度為零的字串 ("")。 某些語言的字母表中有一些特殊字元,它們表示兩個分開的字元。例如,在一些語言中,當字元 "a" 與 "e" 同時出現時,用 "_" 來表示字元 "a" 與 "e"。Like 運算子可以辨認出單一的特殊字元和兩個個別字元是否相等。當一個語言使用了一個特殊字元,而且這個字元在系統地區設定中已被指定的時候,在 pattern 或 string 中出現的單一特殊字元將與其他字串中等價的兩個字元相匹配。與此相似,由方括號括起來的 pattern 中的單一特殊字元(字元本身在列表或範圍內)將與 string 中等價的兩個字元序列匹配。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。------------------------Is 運算子 用來比較兩個物件的引用變數。語法result = object1 Is object2Is 運算子的語法具有以下幾個部分:部分 描述 result 必需的;任何數值變數。 object1 必需的;任何物件名稱。 object2 必需的;任何物件名稱。 說明如果 object1 和 object2 兩者引用相同的物件,則 result 為 True;否則,result 為 False。有很多方法使兩個變數引用相同的物件。在以下示例中,A 和 B 已被設定成與 C 引用相同的物件:Set A = B在下例中,A 和 B 引用的物件與 C 相同:Set A = CIs 運算子示例本示例使用 Is 運算子來比較兩個物件引用。示例中的物件變數名只是作說明用途的一般性名稱而已。Dim MyObject, YourObject, ThisObject, OtherObject, ThatObject, MyCheckSet YourObject = MyObject " 指定物件引用。Set ThisObject = MyObjectSet ThatObject = OtherObjectMyCheck = YourObject Is ThisObject " 返回 True。MyCheck = ThatObject Is ThisObject " 返回 False。" 假設 MyObject <> OtherObjectMyCheck = MyObject Is ThatObject " 返回 False。

  • 中秋節和大豐收的關聯?
  • 生產前的檢查專案有那些?