成员运算符

成员运算符用于判断提供的值是否在或不在指定的序列中,如果成立,返回True,否则返回False。

【Excel VBA】

Excel VBA中提供了一个Like运算符,它用于判断字符串是否与某种模式相匹配,例如下面判断字符串是否为数字模式。数字模式使用通配符。示例文件的存放路径为Samples\ch03\Excel VBA\成员运算符.xlsm。

code.vba
Sub Test5()
  Debug.Print "3" Like "[0-9]"  '是否为数字
  Debug.Print "F" Like "[a-zA-Z]"  '是否为字母
  Debug.Print "好" Like "[一-龥]"  '是否为汉字
  Debug.Print "adefb" Like "a*b"  '模式a*b表示字符a和b之间为任意个字符
  Debug.Print "awb" Like "a?b"  '模式a?b表示字符a和b之间有一个字符
End Sub

运行过程,立即窗口中均返回T rue。

第6章介绍字符串的时候还会介绍一个Instr函数,它判断指定字符串在另一个字符串里面是否存在,并返回第一次出现的位置;如果没有,返回0。例如,下面判断字符串"Hello,VBA!"中是否包含"VBA",返回第一次出现的位置。示例文件的存放路径为Samples\ch03\Excel VBA\成员运算符.xlsm。

code.vba
Sub Test6()
  Dim intI As Integer
  intI = InStr("大谦Excel", "Excel")
  Debug.Print intI
End Sub

运行过程,立即窗口中均返回数字3。

【Python】

Python中常见的成员运算符有in和not in,如表3-8所示。

表3-8 成员运算符

运算符号 说 明
in 如果提供的值在指定序列中,返回True,否则返回False
not in 如果提供的值不在指定序列中,返回True,否则返回False

下面使用成员运算符判断对象之间的包含关系。

code.python
>>> 1 in [1,2,3]  #列表中是否包含数字1
True
>>> "abc"Excel"大谦Excel"  #后面的字符串中是否包含"Excel"
True

要实现上面Excel VBA的Like运算符使用通配符的效果,Python中可以使用正则表达式来实现,这里暂不介绍。