Like 运算符
比较运算符 | InStr 函数 | Visual Basic 中的运算符优先级 | 运算符(按功能列出) | Option Compare 语句 | StrComp 函数 | 运算符
比较两个字符串。
result = string Like pattern
各部分说明
result
必选项。任何 Boolean 变量。结果是 Boolean 值,它表示 string 是否匹配 pattern。
string
必选项。任何 String 表达式。
pattern
必选项。任何符合“备注”中描述的模式匹配约定的 String 表达式。
备注
如果 string 匹配 pattern,则 result 为 True;如果不匹配,则 result 为 False。如果 string 和 pattern 都是空字符串,则结果是 True。否则,如果 string 或 pattern 中有一个为空字符串,则结果为 False。
Like 运算符的行为取决于 Option Compare 语句。每个模块的默认字符串比较方法是 Option Compare Binary。
内置的模式匹配为字符串比较提供了一种多功能工具。模式匹配功能允许您使用通配符、字符列表或字符范围的任何组合来匹配字符串。下表显示 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、C、D 和 E。当使用 Option Compare Text 时,[A–E] 匹配 A、a、à、à、B、b、C、c、D、d、E 和 e。该范围不匹配 ê 或 ê,因为在排序顺序中,重音字符排在非重音字符之后。
模式匹配的其他重要规则包括:
charlist 开始处的感叹号 (!) 意味着仅当在 string 中找到除 charlist 以外的任何字符时才发生匹配。当在方括号外使用时,感叹号匹配它自己。
连字符 (-) 可以出现在 charlist 的开始处(如果有感叹号,则在它后面)或结尾处以匹配它自己。在任何其他位置,连字符标识由连字符两侧的字符界定的字符范围。
在指定字符范围时,这些字符必须以升序排序顺序出现(即,从最低到最高)。因此,[A-Z] 是有效的模式,但 [Z-A] 不是。
字符序列 [] 被视为零长度字符串 ("")。
在某些语言中,字母表中有一些表示两种不同字符的特殊字符。例如,有几种语言使用字符 ? 来表示字符 a 和 e(当这两个字符一起出现时)。Like 运算符认为该单个特殊字符与这两个字符是等效的。
当在系统区域设置中指定使用特殊字符的语言时,在 pattern 或 string 中出现的单个特殊字符都匹配其他字符串中等效的双字符序列。与此类似,括在方括号内的 pattern 中的单个特殊字符(独立存在、在列表中或在某个范围内)匹配 string 中等效的双字符序列。
示例
本示例使用 Like 运算符将字符串与模式比较。结果是 Boolean 值,它表示该字符串是否符合该模式。
Dim myCheck As Boolean
myCheck = "F" Like "F" ' Does "F" match "F"? Returns True.
myCheck = "F" Like "f" ' Does "F" match "f"? Returns False.
myCheck = "F" Like "FFF" ' Does "F" match "FFF"? Returns False.
myCheck = "aBBBa" Like "a*a" ' Does "aBBBa" have a "a" at the
' beginning, an "a" at the end, and any number of characters in
' between? Returns True.
myCheck = "F" Like "[A-Z]" ' Does "F" occur in the set of
' characters from A to Z? Returns True.
myCheck = "F" Like "[!A-Z]" ' Does "F" NOT occur in the set of
' characters from A to Z? Returns False.
myCheck = "a2a" Like "a#a" ' Does "a2a" begin and end with an
' "a" and have any single-digit number inbetween? Returns True.
myCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Does "aM5b" fit the following
' pattern: Begins with "a", has and character from the set L through
' P, followed byb any single-digit number, and finally contains any
' character excluded from the character set c through e. Returns True.
myCheck = "BAT123khg" Like "B?T*" ' Does "BAT123khg" fit the
' following pattern: Begins with "B", followed by any single
' character, followed by a "T" and finally zero or more characters
' of any type. Returns True.
myCheck = "CAT123khg" Like "B?T*" ' Does "CAT123khg" fit the
' following pattern: Begins with "B", followed by any single
' character, followed by a "T" and finally zero or more characters
' of any type. Returns False.
Option Compare 语句请参见
比较运算符 | InStr 函数 | InStrRev 函数 | Option Strict 语句 | Option Explicit 语句 | Replace 函数 | Split 函数 | StrComp 函数 | /optionexplicit | /optionstrict | /optioncompare:binary | /optioncompare:text
用于在文件级声明当比较字符串数据时所使用的默认比较方法。
Option Compare { Binary | Text }
各部分说明
Binary
可选项。导致基于从字符的内部二进制表示形式导出的排序顺序进行字符串比较。
Text
可选项。导致基于由系统的区域设置确定的不区分大小写的文本排序顺序进行字符串比较。
备注
如果使用,则 Option Compare 语句必须出现在文件中其他任何源语句之前。
Option Compare 语句为类、模块或结构指定字符串比较方法(Binary 或 Text)。如果未包括 Option Compare 语句,则默认的文本比较方法是 Binary。
在 Microsoft Windows 中,排序顺序由代码页确定。在下面的示例中,使用 Option Compare Binary 对字符进行排序,将产生典型的二进制排序顺序:
A < B < E < Z < a < b < e < z < à < ê < ? < à < ê < ?
如果使用 Option Compare Text 对同样的字符进行排序,将产生下面的文本排序顺序:
(A=a) < (à = à) < (B=b) < (E=e) < (ê = ê) < (Z=z) < (? = ?)
示例
本示例使用 Option Compare 语句设置默认的字符串比较方法。只能在模块级使用 Option Compare 语句。
' Set the string comparison method to Binary.
Option Compare Binary ' That is, "AAA" is less than "aaa".
' Set the string comparison method to Text.
Option Compare Text ' That is, "AAA" is equal to "aaa".
请参见
比较运算符 | InStr 函数 | InStrRev 函数 | Option Strict 语句 | Option Explicit 语句 | Replace 函数 | Split 函数 | StrComp 函数 | /optionexplicit | /optionstrict | /optioncompare:binary | /optioncompare:text
相关推荐
在SQL查询中,`LIKE`运算符是一种非常重要的模糊匹配工具,它允许我们根据特定的模式来筛选数据。本文将详细讲解`LIKE`运算符的使用、语法、优点以及一些实用示例,帮助你深入理解和掌握这一功能。 一、`LIKE`...
在SQL查询中,LIKE运算符是一个非常重要的字符串匹配工具,尤其在处理数据过滤和搜索时。这个运算符允许我们使用通配符来进行部分匹配,帮助我们更灵活地找到符合特定模式的数据行。以下是对LIKE运算符的详细说明: ...
范例5 查找特定内容的单元格 5-2 使用Like运算符进行模式匹配查找.xlsm
本文介绍在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符。 在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的。要使用通配符在字符串中查找,可以使用like运算符。举例...
本压缩包“Excel-VBA宏编程实例源代码-以Select Case使用Like运算.zip”包含了一个名为“以Select Case使用Like运算.xlsm”的文件,它是一个VBA宏启用的工作簿,展示了如何在Select Case语句中使用Like运算符进行...
“Like”运算符用于模糊匹配,允许使用通配符“*”、“?”和“#”来匹配任意数量的字符、单个字符或数字。 ### 五、特殊运算符 特殊运算符包括“Between And”用于指定一个范围,“In”用于检查一个值是否在一个...
在SQL技术中,范围运算符、列表运算符、模式匹配符、空值判断符和逻辑运算符是构建复杂查询的基础。下面将详细解释这些概念及其用法。 1. 范围运算符: 范围运算符通常用于筛选符合一定数值范围的数据。在例子中,`...
- `Like`:用于判断字符串是否符合指定样式,例如`姓名 Like "李 *"`用于查找姓“李”的学生。 - `Between A and B`:判断表达式的值是否在指定范围内,例如`出生日期 Between #1990-1-1# And #1990-12-31#`用于...
7. **Like 运算符**:`Like` - 这个运算符用于字符串比较,它允许使用通配符进行模式匹配。例如: ```vb.net Dim str As String = "Hello, World!" Console.WriteLine(str Like "Hello, *!") ' 输出 "True" ```...
### 条件运算符用法详解 在编程领域中,条件运算符(也称为三元运算符)是一种简洁地表达if-else逻辑的方式。通过一个简单的语法结构,它能够根据某个条件来决定执行两种不同操作中的哪一种。本文将详细介绍条件...
标题中的“LIKE”运算符是Jet SQL查询中的一个重要概念,它在数据库检索中起到关键作用。Jet SQL是Microsoft Access数据库引擎使用的一种SQL方言,用于处理mdb格式的数据库文件,如"customer.mdb"。在本程序中,...
例如: LIKE、IN、BETWEEN AND和ISNULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。 逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值 (1或true)和假值(0或false)。位运算符,...
连接运算符 (&) 用于连接两个字符串,而 Like 运算符用于模式匹配。 例如,在以下代码中,我们使用了连接运算符 (&) 连接两个字符串: ```vb Private Sub Command1_Click() c$ = "ssss" d$ = "qqq" Print c$ & d...
SQL常见问题
5. **Like运算符**:用于字符串的模式匹配,如`"abc" Like "a*"`返回True,因为"a"匹配任何以"a"开头的字符串。 6. **Is运算符**:检测表达式的值是否为空,`IsNull`检查值是否为NULL,`IsNot`则相反。 7. **In...
Oracle SQL 和 PL/SQL 课件:第 2 章 限定查询和排序 ...本章节主要讲解了限定查询和排序的内容,我们学习了如何使用 WHERE 子句、比较运算符、BETWEEN 运算符、IN 运算符和 LIKE 运算符来实现复杂的查询。
- **逻辑运算**:SQL使用`BETWEEN`,`LIKE`等关键字进行逻辑判断,而C#则使用`>=`,`等比较运算符。 - **集合运算**:SQL的集合运算符如`IN`,`EXISTS`是针对数据库查询的,而在C#中,这些概念通常通过 LINQ 表达。 ...
本文将深入探讨VBA字符串比较中的一个重要工具——Like运算符。 Like运算符允许我们进行灵活的字符串匹配,尤其在处理模糊查询或规则匹配时非常有用。其基本语法是`result = string Like pattern`,其中`result`是...
- `LIKE` 运算符与通配符 `%` 和 `_` 结合,用于模糊匹配字符串。例如: - 第三个字母为 'a' 的员工: ```sql SELECT last_name FROM employees WHERE last_name LIKE '__a%'; ``` - 姓名中包含 'a' 和 'k' ...