0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python判斷字符串是否包含子串

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-04-08 15:15 ? 次閱讀

1、使用 in 和 not in

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

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

>>> "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 的方法來判斷。

只要判斷結(jié)果大于 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、通過魔法方法

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

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

示例如下;

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

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

6、借助 operator

operator模塊是python中內(nèi)置的操作符函數(shù)接口,它定義了一些算術(shù)和比較內(nèi)置操作的函數(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

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    575

    瀏覽量

    20471
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4774

    瀏覽量

    84386
收藏 人收藏

    評論

    相關(guān)推薦

    labview字符串如何轉(zhuǎn)換為16進制字符串

    在LabVIEW中,將字符串轉(zhuǎn)換為16進制字符串是一個常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時。LabVIEW提供了多種方法來實現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtual
    的頭像 發(fā)表于 09-04 15:54 ?1595次閱讀

    labview中常用的字符串函數(shù)有哪些?

    ) : 功能:該函數(shù)用于返回字符串包含字符個數(shù)。 應(yīng)用場景:常用于需要計算字符串長度的場景,如文件命名、數(shù)據(jù)處理等。 連接字符串(Str
    的頭像 發(fā)表于 09-04 15:43 ?456次閱讀

    C語言字符串編譯函數(shù)介紹

    在C語言中,字符串實際上是使用null字符O'終止的一維字符數(shù)組。因此,一個以null結(jié)尾的字符串包含了組成
    的頭像 發(fā)表于 03-07 16:18 ?464次閱讀
    C語言<b class='flag-5'>字符串</b>編譯函數(shù)介紹

    labview掃描字符串怎么用

    LabVIEW 是一種流程化編程語言和開發(fā)環(huán)境,主要用于控制、測量和監(jiān)測系統(tǒng)。在 LabVIEW 中,掃描字符串是一項常見的任務(wù),它允許用戶按照一定的模式從輸入字符串中提取所需的信息。下面我將詳細
    的頭像 發(fā)表于 12-29 10:12 ?1814次閱讀

    labview中怎么對字符串中的進行實時處理

    。 字符串操作函數(shù): LabVIEW提供了許多函數(shù)來對字符串進行操作。這些函數(shù)包括查找、替換、插入、刪除和連接等。使用這些函數(shù),您可以實時修改字符串的內(nèi)容。例如,您可以使用"字符串替換
    的頭像 發(fā)表于 12-26 14:12 ?1705次閱讀

    oracle字符串split成多個

    Oracle是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了許多強大的功能和函數(shù),用于處理和操作數(shù)據(jù)。其中之一就是字符串分割(split)方法,該方法用于將一個字符串按照指定的分隔符分割成多個子字符串
    的頭像 發(fā)表于 12-06 09:54 ?5045次閱讀

    oracle判斷字符串包含某個字符

    包含某個字符,以及介紹使用的相關(guān)函數(shù)。 正文: 一、使用INSTR函數(shù)進行判斷: INSTR函數(shù)是Oracle中最常用的字符串函數(shù)之一,它用于查找
    的頭像 發(fā)表于 12-06 09:53 ?1.4w次閱讀

    MySQL替換字符串函數(shù)REPLACE

    MySQL是目前非常流行的開源數(shù)據(jù)庫管理系統(tǒng)之一,它具有強大的功能和性能。其中之一的字符串函數(shù)REPLACE,可以用于替換字符串中的指定字符字符串。在本文中,我們將詳細討論MySQL
    的頭像 發(fā)表于 11-30 10:44 ?1440次閱讀

    c語言字符串定義

    C語言是一種強大而廣泛使用的編程語言,字符串是其中一個非常重要的概念。在C語言中,字符串是由一系列字符組成的數(shù)組,它可以表示文本、數(shù)字等各種類型的數(shù)據(jù)。在本文中,我們將詳盡、詳實、細致地介紹C語言
    的頭像 發(fā)表于 11-24 10:02 ?1751次閱讀

    python如何統(tǒng)計字符串中字母個數(shù)

    Python中統(tǒng)計字符串中字母個數(shù)的方法有多種,下面我會詳細介紹一些常用的方法。 方法一:使用循環(huán)遍歷字符串 該方法通過循環(huán)遍歷字符串中的每一個字符
    的頭像 發(fā)表于 11-23 16:29 ?1.3w次閱讀

    linux搜索文件里的字符串

    文本文件中搜索指定的字符串,并將包含字符串的行打印出來。 用法示例: grep "search_text" file_name grep命令的一些常用參數(shù): -i :忽略大小寫 -r :遞歸搜索目錄
    的頭像 發(fā)表于 11-23 10:20 ?1456次閱讀

    python輸出固定長度的字符串

    Python 是一種強大而靈活的編程語言,具有許多用于處理字符串的功能。在 Python 中,有多種方法可以輸出固定長度的字符串。下面將詳細介紹這些方法。 方法一:使用
    的頭像 發(fā)表于 11-22 10:41 ?3073次閱讀

    python怎么把字符串變成數(shù)字

    計算中的值。在一些應(yīng)用場景中,需要將字符串轉(zhuǎn)換為數(shù)字,以便進行數(shù)值計算、條件判斷或數(shù)據(jù)處理等操作。在本文中,我們將詳細探討Python字符串到數(shù)字的轉(zhuǎn)換方法,并討論其在實際應(yīng)用中的常
    的頭像 發(fā)表于 11-22 09:47 ?3608次閱讀

    字符串如何轉(zhuǎn)換成日期型

    同編程語言將字符串轉(zhuǎn)換為日期類型。 正文: 一、Python中的字符串轉(zhuǎn)日期轉(zhuǎn)換 在Python中,使用datetime模塊可以方便地將字符串
    的頭像 發(fā)表于 11-17 16:27 ?9834次閱讀

    mysql字符串包含某個字符串

    MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),被廣泛用于構(gòu)建Web應(yīng)用程序和其他大型數(shù)據(jù)驅(qū)動的應(yīng)用。在進行MySQL數(shù)據(jù)庫查詢時,經(jīng)常需要使用字符串包含操作,即判斷一個字符串
    的頭像 發(fā)表于 11-16 14:52 ?3598次閱讀