子字符串可以是一个单词,一个字符,或者是一个词语,使用 Python 的内置函数或者 in 操作符可以很方便的检测其是否包含于一个字符串中。检查的返回值往往是一个布尔值(True 或者 False),或者是一个整数。
下面我们介绍几种检查字符串包含的方法。
【资料图】
方法1:使用 in 操作符
假如我们定义了一个字符串 str,其值为 terminator,然后检查其中是否包含子字符串 "ter",可以是如下代码:
str = "terminator""ter" in str
上述代码的输出结果将会是 True,因为字符串 str 中包含我们要搜索的内容 "ter"。假如要搜索的某个字符串(比如 "abc")不存在,那么会输出 False。
下面是一个完整的例子:
stringexample = "Terminator"substring = "ter"if substring in stringexample: print ("We"ve found the string!")else: print ("Oops, not found!")
运行结果将会是打印如下内容:
We"ve found the string!
方法2:使用 find 方法
除了 in 以外,还可以使用 find 方法来检查字符串包含问题。看下面的代码:
stringexample = "kiki"stringexample.find("ki")
上述结果为 0。
find 方法的返回值,当找到字符串时,会返回该子字符串在主字符串中最开始出现的位置(字符索引值)。所以,上述结果为 0。
如果没有找到子字符串,返回值为 -1。
下面为一个完整的代码:
stringexample = "Kiki"substring = "ki"if stringexample.find("ki") != -1: print ("We"ve found the string!")else: print ("Oops, not found!")
其运行结果仍为:
We"ve found the string!
方法3:使用 Contains 方法
__contains__() 是另外一种可以检查字符串包含的方法。
看下面的例子:
stringexample = "kiki"stringexample.__contains__("k")
__contains__() 方法的返回值为 True / False。所以,上述代码片段的结果为 True。
这里需要注意的是,contains 方法前后各有两个下划线,不要写错了。
看下面一个完整的代码示例:
stringexample = "kiki"if stringexample.__contains__("k") == True: print ("Yeyy, found the substring!")else: print ("Oops, not found!")
其输出结果为:
Yeyy, found the substring!