语法:字符串 Like 基准字符串
,写在 Like 右侧的内容,可以使用通配符对 Like 左侧的内容做模糊比较
1. 忽略一个字符比较
利用通配符 ?
,用 ?
占位的地方可以是任何字符,但是不能是空
Public Sub main()
Debug.Print "字符串" Like "?符串" '结果:True
Debug.Print "字符串" Like "字符?" '结果:True
Debug.Print "字符串" Like "字?串" '结果:True
Debug.Print "字符串" Like "?字符串" '结果:False
End Sub
2. 忽略多个字符比较
利用通配符 *
,用 *
占位的地方可以是任何数量的任何字符
Public Sub main()
Debug.Print "字符串" Like "*串" '结果:True
Debug.Print "字符串" Like "字*" '结果:True
Debug.Print "字符串" Like "字*串" '结果:True
Debug.Print "字符串" Like "*字符串" '结果:True
End Sub
3. 取消通配符含义
有时右侧的基准字符串中,想让通配符不具备特殊含义,就想是一个普通的字符,那么可以使用 []
来取消通配符的
含义,使其变成一个普通的字符
Public Sub main()
' Like 右侧的 [?] 不具备通配符功能,就是个普通的字符 “?"
Debug.Print "字?串" Like "字[?]串" '结果:True
Debug.Print "字符串" Like "字[?]串" '结果:False
End Sub
4. 比较数字位数
利用通配符 #
可以判断数字的位数,一个 #
就是一位,两个 #
就是两位,以此类推
Public Sub main()
Debug.Print 100 Like "###" '结果:True
Debug.Print 1000 Like "###" '结果:False
End Sub
5. 区间比较
区间比较最好有点正则表达式的基础,因为语法和正则很像,将区间值写在 []
内
Public Sub main()
Debug.Print "A" Like "[a-zA-Z]" '一个字符,且字符在小写的 a-z 和大写的 A-Z 之间"
Debug.Print "M" Like "[A-GM-Z]" '一个字符,且字符在大写的 A-G 和大写的 M-Z 之间"
Debug.Print "Y" Like "[!A-G]" '一个字符,且字符不在大写的 A-G 之间"
Debug.Print "C" Like "[ABCD]" '一个字符,且字符在大写的 ABCD 之间"
Debug.Print "A125Z" Like "[A-C]*[Y-Z]" '最少两个字符,第一个字符在大写A-C之间,最后一个字符在 Y-Z之间
End Sub