欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python判斷字符串是否包含特定子字符串的多種方法(7種方法)

 更新時間:2023年03月11日 16:37:16   作者:趙孝正  
我們經常會遇這樣一個需求判斷字符串中是否包含某個關鍵詞,也就是特定的子字符串,接下來通過本文給大家分享Python判斷字符串是否包含特定子字符串的多種方法(7種方法),需要的朋友可以參考下

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

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

1、使用 in 和 not in

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

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

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

2、使用 find 方法

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

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

3、使用 index 方法

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

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__魔法方法。

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

示例如下;

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

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

6、借助 operator

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

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

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

7、使用正則匹配

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

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

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判斷字符串是否包含特定子串的7種方法的文章就介紹到這了,更多相關Python判斷字符串是否包含特定子串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談Tensorflow模型的保存與恢復加載

    淺談Tensorflow模型的保存與恢復加載

    本篇文章主要介紹了淺談Tensorflow模型的保存與恢復加載,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 使用Python編寫簡單網絡爬蟲抓取視頻下載資源

    使用Python編寫簡單網絡爬蟲抓取視頻下載資源

    從上一篇文章的評論中看出似乎很多童鞋都比較關注爬蟲的源代碼。所有本文就使用Python編寫簡單網絡爬蟲抓取視頻下載資源做了很詳細的記錄,幾乎每一步都介紹給大家,希望對大家能有所幫助
    2014-11-11
  • Pygame游戲開發(fā)之太空射擊實戰(zhàn)精靈的使用上篇

    Pygame游戲開發(fā)之太空射擊實戰(zhàn)精靈的使用上篇

    相信大多數(shù)8090后都玩過太空射擊游戲,在過去游戲不多的年代太空射擊自然屬于經典好玩的一款了,今天我們來自己動手實現(xiàn)它,在編寫學習中回顧過往展望未來,下面開始講解精靈的使用
    2022-08-08
  • Python中獲取圖片的大小問題

    Python中獲取圖片的大小問題

    這篇文章主要介紹了Python中獲取圖片的大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python 使用多屬性來進行排序

    Python 使用多屬性來進行排序

    這篇文章主要介紹了Python 使用多屬性來進行排序的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Jupyter notebook如何實現(xiàn)指定瀏覽器打開

    Jupyter notebook如何實現(xiàn)指定瀏覽器打開

    這篇文章主要介紹了Jupyter notebook如何實現(xiàn)指定瀏覽器打開,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Playwright中如何保持登錄狀態(tài)

    Playwright中如何保持登錄狀態(tài)

    本文主要介紹了Playwright中如何保持登錄狀態(tài),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python實現(xiàn)隨機漫步功能

    Python實現(xiàn)隨機漫步功能

    隨機漫步生成是無規(guī)則的,是系統(tǒng)自行選擇的結果。接下來通過本文給大家介紹Python實現(xiàn)隨機漫步功能,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • pyqt5 鍵盤監(jiān)聽按下enter 就登陸的實例

    pyqt5 鍵盤監(jiān)聽按下enter 就登陸的實例

    今天小編就為大家分享一篇pyqt5 鍵盤監(jiān)聽按下enter 就登陸的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 詳解Python中神奇的字符串駐留機制

    詳解Python中神奇的字符串駐留機制

    字符串駐留機制是Python針對字符串對象采取的一種內存優(yōu)化技術。其目標是減少內存使用并提高程序的性能。這篇文章主要介紹了字符串駐留機制的簡單應用,需要的可以參考一下
    2023-04-04

最新評論