Python 中如何檢查一個(gè)字符串包含另一個(gè)字符串
子字符串可以是一個(gè)單詞,一個(gè)字符,或者是一個(gè)詞語(yǔ),使用 Python 的內(nèi)置函數(shù)或者 in 操作符可以很方便的檢測(cè)其是否包含于一個(gè)字符串中。檢查的返回值往往是一個(gè)布爾值(True 或者 False),或者是一個(gè)整數(shù)。
下面我們介紹幾種檢查字符串包含的方法。
方法1:使用 in 操作符
假如我們定義了一個(gè)字符串 str,其值為 terminator,然后檢查其中是否包含子字符串 "ter",可以是如下代碼:
str = "terminator"
"ter" in str
上述代碼的輸出結(jié)果將會(huì)是 True,因?yàn)樽址?str 中包含我們要搜索的內(nèi)容 "ter"。假如要搜索的某個(gè)字符串(比如 "abc")不存在,那么會(huì)輸出 False。
下面是一個(gè)完整的例子:
stringexample = "Terminator"
substring = "ter"
if substring in stringexample:
print ("We've found the string!")
else:
print ("Oops, not found!")
運(yùn)行結(jié)果將會(huì)是打印如下內(nèi)容:
We've found the string!
方法2:使用 find 方法
除了 in 以外,還可以使用 find 方法來(lái)檢查字符串包含問題??聪旅娴拇a:
stringexample = "kiki"
stringexample.find("ki")
上述結(jié)果為 0。
find 方法的返回值,當(dāng)找到字符串時(shí),會(huì)返回該子字符串在主字符串中最開始出現(xiàn)的位置(字符索引值)。所以,上述結(jié)果為 0。
如果沒有找到子字符串,返回值為 -1。
下面為一個(gè)完整的代碼:
stringexample = "Kiki"
substring = "ki"
if stringexample.find("ki") != -1:
print ("We've found the string!")
else:
print ("Oops, not found!")
其運(yùn)行結(jié)果仍為:
We've found the string!
方法3:使用 Contains 方法
__contains__() 是另外一種可以檢查字符串包含的方法。
看下面的例子:
stringexample = "kiki"
stringexample.__contains__("k")
__contains__() 方法的返回值為 True / False。所以,上述代碼片段的結(jié)果為 True。
這里需要注意的是,contains 方法前后各有兩個(gè)下劃線,不要寫錯(cuò)了。
看下面一個(gè)完整的代碼示例:
stringexample = "kiki"
if stringexample.__contains__("k") == True:
print ("Yeyy, found the substring!")
else:
print ("Oops, not found!")
其輸出結(jié)果為:
Yeyy, found the substring!