您的位置:首页 > 其它

Like 运算符的用法

2012-03-10 10:57 169 查看
 
Option Explicit
Private Sub Form_click()

    Dim testCheck As Boolean
    testCheck = "F" Like "F"

    Debug.Print testCheck                      'True

    '----------------------------------------------------

    testCheck = "F" Like "f"

    Debug.Print testCheck                      'False

    '----------------------------------------------------

    testCheck = "F" Like "FFF"

    Debug.Print testCheck                       'False

    '----------------------------------------------------

    testCheck = "aBBBa" Like "a*a"

    Debug.Print testCheck                       'True

    '----------------------------------------------------

    testCheck = "F" Like "[A-Z]"

    Debug.Print testCheck                       'True

    '----------------------------------------------------

    testCheck = "F" Like "[!A-Z]"

    Debug.Print testCheck                       'False

    '----------------------------------------------------

    testCheck = "a2a" Like "a#a"

    Debug.Print testCheck                       'True

    '----------------------------------------------------

    testCheck = "aM5b" Like "a[L-P]#[!c-e]"

    Debug.Print testCheck                       'True

    '----------------------------------------------------

    testCheck = "BAT123khg" Like "B?T*"

    Debug.Print testCheck                       'True

    '----------------------------------------------------

    testCheck = "CAT123khg" Like "B?T*"

    Debug.Print testCheck                       'False
End Sub
 

语法

result   =   string   Like   pattern

Like   运算符的语法具有以下几个部分:

部分                        描述  

result           必需的;任何数值变量。  

string           必需的;任何字符串表达式。  

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]   不是。

字符序列   []   被看作是长度为零的字符串   ( " ")。   

       当一个语言使用了一个特殊字符,而且这个字符在系统地区设置中已被指定的时候,在   pattern   或   string   中出现的单一特殊字符将与其他字符串中等价的两个字符相匹配。与此相似,由方括号括起来的   pattern   中的单一特殊字符(字符本身在列表或范围内)将与   string   中等价的两个字符序列匹配。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string 语言