在编写vba代码的解决方案时,会经常碰到字符串的对比。
比如要判断一个字符串变量是否包含某些字符、是否含有数字等等。
这些简单的字符串的对比都可以用vba中的内置like运算符来实现。它的语法如下:
result = string Like pattern
其中string表示要被匹配的字符串,pattern表示要匹配的模式字符串,result表示匹配的结果,如果匹配满足则返回True,反之返回False。
其中pattern可以有以下类型
匹配的模式 | 匹配的字符床 |
? | 任何一个字符 |
* | 零个或者多个字符 |
# | 任何一个数字 |
[字符串列表] | 任何一个在字符串列表中的字符 |
[!字符串列表] | 任何一个不在字符串列表中的字符 |
[a-z] | 字母a到字母z之间的任何一个字母 |
[A-Z] | 字母A到字母Z之间的任何一个字母 |
其它的更多详细的资料可以访问它的官方文档Like运算符
结合以下代码将会对like运算符有更清晰的了解:
Sub QQ1722187970() Dim sCheck sCheck = "aBBBa" Like "a*a" ' 返回 True. sCheck = "F" Like "[A-Z]" ' 返回 True. sCheck = "F" Like "[!A-Z]" ' 返回 False. sCheck = "a2a" Like "a#a" ' 返回 True. sCheck = "aM5b" Like "a[L-P]#[!c-e]" ' 返回 True. sCheck = "BAT123khg" Like "B?T*" ' 返回 True. sCheck = "CAT123khg" Like "B?T*" ' 返回 False. sCheck = "我" Like "*[一-龥]*" End Sub
发表评论