91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何判斷字符串是否包含特定子字符串

發布時間:2023-03-11 17:52:31 來源:億速云 閱讀:227 作者:iii 欄目:開發技術

這篇文章主要介紹“Python如何判斷字符串是否包含特定子字符串”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python如何判斷字符串是否包含特定子字符串”文章能幫助大家解決問題。

我們經常會遇這樣一個需求:判斷字符串中是否包含某個關鍵詞,也就是特定的子字符串。比如從一堆書籍名稱中找出含有“python”的書名。

判斷兩個字符串相等很簡單,直接 == 就可以了。其實判斷包含子串也非常容易,而且還不止一種方法。下面我們就給大家分享 7 種可以達到此效果的方法:

1、使用 in 和 not in

innot inPython 中是很常用的關鍵字,我們將它們歸類為成員運算符。

使用這兩個成員運算符,可以很讓我們很直觀清晰的判斷一個對象是否在另一個對象中,示例如下:

>>> "llo" in "hello, python"
True
>>>
>>> "lol" in "hello, python"
False

2、使用 find 方法

使用 字符串 對象的 find 方法,如果有找到子串,就可以返回指定子串在字符串中的出現位置,如果沒有找到,就返回 -1

>>> "hello, python".find("llo") != -1
True
>>> "hello, python".find("lol") != -1
False
>>

3、使用 index 方法

字符串對象有一個 index 方法,可以返回指定子串在該字符串中第一次出現的索引,如果沒有找到會拋出異常,因此使用時需要注意捕獲。

def is_in(full_str, sub_str):
    try:
        full_str.index(sub_str)
        return True
    except ValueError:
        return False

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

4、使用 count 方法

利用和 index 這種曲線救國的思路,同樣我們可以使用 count 的方法來判斷。

只要判斷結果大于 0 就說明子串存在于字符串中。

def is_in(full_str, sub_str):
    return full_str.count(sub_str) > 0

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

5、通過魔法方法

在第一種方法中,我們使用 innot in 判斷一個子串是否存在于另一個字符中,實際上當你使用 innot in 時,Python 解釋器會先去檢查該對象是否有__contains__魔法方法。

若有就執行它,若沒有,Python 就自動會迭代整個序列,只要找到了需要的一項就返回 True

示例如下;

>>> "hello, python".__contains__("llo")
True
>>>
>>> "hello, python".__contains__("lol")
False
>>>

這個用法與使用 innot in 沒有區別,但不排除有人會特意寫成這樣來增加代碼的理解難度。

6、借助 operator

operator模塊是 python 中內置的操作符函數接口,它定義了一些算術和比較內置操作的函數。operator模塊是用 c 實現的,所以執行速度比 python 代碼快。

operator 中有一個方法 contains 可以很方便地判斷子串是否在字符串中。

>>> import operator
>>>
>>> operator.contains("hello, python", "llo")
True
>>> operator.contains("hello, python", "lol")
False
>>>

7、使用正則匹配

說到查找功能,那正則絕對可以說是專業的工具,多復雜的查找規則,都能滿足你。

對于判斷字符串是否存在于另一個字符串中的這個需求,使用正則簡直就是大材小用。

import re

def is_in(full_str, sub_str):
    if re.findall(sub_str, full_str):
        return True
    else:
        return False

print(is_in("hello, python", "llo"))  # True
print(is_in("hello, python", "lol"))  # False

關于“Python如何判斷字符串是否包含特定子字符串”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭苏县| 奇台县| 山东| 闵行区| 新宁县| 洞口县| 淮滨县| 城口县| 婺源县| 二连浩特市| 呼玛县| 家居| 淮滨县| 昌江| 保康县| 临西县| 海阳市| 集贤县| 屯昌县| 曲沃县| 沂源县| 铜梁县| 白银市| 宝山区| 湖州市| 磐安县| 长海县| 桃园市| 新化县| 岢岚县| 定边县| 桃江县| 绥棱县| 普定县| 津市市| 鸡东县| 盐池县| 开封市| 易门县| 海门市| 松潘县|