Python 中如何檢查一個字符串包含另一個字符串
子字符串可以是一個單詞,一個字符,或者是一個詞語,使用 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!