国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-04-08 15:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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、通過魔法方法

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

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

示例如下;

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

這個用法與使用 in 和 not 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

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

    關注

    1

    文章

    596

    瀏覽量

    23165
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    求助 LabVIEW 字符串比較

    1.輸入一個字符串,儲存起來。 2.再次輸入一個字符串,先和儲存起來的字符串比較,如果不同則存儲起來,如果相同則不儲存。 3.再次輸入一個字符串,和所有儲存起來的
    發表于 03-02 17:24

    打開工程后工程中的字體沒有顯示,如字符串,數字等控件不能預覽顯示字體?

    打開工程后工程中的字體沒有顯示,如字符串,數字等控件不能預覽顯示字體?
    發表于 02-25 17:39

    cJSON庫是什么?

    json的首字母判斷整個json的類型,如果json以'{'開頭時,就是對象,以'['開頭時,就是數組,否則就是字符串或者其他常量
    發表于 01-29 07:13

    字符串控件與靜態字符串控件中預覽字符顯示亂碼,如何修改顯示正常?

    字符串控件與靜態字符串控件中預覽字符顯示亂碼,如何修改顯示正常?
    發表于 01-20 17:17

    字符串,數字控件如何控制背景顏色和前景字體顏色?

    字符串,數字控件如何控制背景顏色和前景字體顏色?
    發表于 01-20 15:12

    Linux下怎么讓中文字符串按照拼音排序?

    求教 Linux 下怎么讓中文字符串按照拼音排序?
    發表于 01-06 07:40

    字符串關聯數字變量如何使用?我們的地址都是16位數據,可以使用16位數字變量顯示字符串嗎?

    字符串關聯數字變量如何使用?我們的地址都是16位數據,可以使用16位數字變量顯示字符串嗎?
    發表于 12-15 08:24

    飛凌嵌入式ElfBoard-標準IO接口之格式化輸出

    ( const char *format, ... );3)參數format:表示C 字符串包含了要打印的格式化數據。...:表示附加可變參數,根據不同的 format 字符串,函數可能需要一系列的附加
    發表于 11-11 08:43

    LM3466 多 LED 電流平衡器技術手冊

    到電源的數或每個 LED 的正向電壓 字符串。 如果任何 LED 燈在運行過程中打開,LM3466 會自動平衡通過所有剩余活動 LED 燈的電源電流。 如 因此,即使一些 LED
    的頭像 發表于 08-29 14:27 ?1042次閱讀
    LM3466 多<b class='flag-5'>串</b> LED 電流平衡器技術手冊

    labview如何生成一個帶字符串返回的dll

    labview如何生成一個dll,如下圖,要求一個輸入,類型是字符串,返回類型也是字符串
    發表于 08-28 23:20

    Python字符串逆序有幾種方式,代碼是什么

    對于一個給定的字符串,逆序輸出,這個任務對于python來說是一種很簡單的操作,畢竟強大的列表和字符串處理的一些列函數足以應付這些問題 了,今天總結了一下python中對于
    的頭像 發表于 08-28 14:44 ?1082次閱讀

    TPS92665-Q1 汽車級低噪聲16通道LED矩陣管理器摘要

    TPS92665 LED 矩陣管理器設備通過提供單獨的像素級 LED 控制來實現完全動態的自適應照明解決方案。該器件包括四個串聯集成開關的四個,用于旁路單個 LED。單個子字符串允許器件接受單個或多個電流源。
    的頭像 發表于 08-21 18:13 ?1268次閱讀
    TPS92665-Q1 汽車級低噪聲16通道LED矩陣管理器摘要

    harmony-utils之StrUtil,字符串工具類

    harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類
    的頭像 發表于 07-03 11:32 ?632次閱讀

    PL2303口驅動

    PL2303口驅動
    發表于 04-09 16:02 ?4次下載

    STM32C031C6使用的是UART2通訊,通過printf()函數發送字符串時,漢字錯碼怎么解決?

    使用的是UART2通訊,通過printf()函數發送字符串時,漢字錯碼(見下圖),應該是KEIL哪里沒有設置好的問題。 啟用了UART2的中斷接收,可以接收到串口調試助手的數據,但是緩存區的指針沒有歸零,下次接收時緩存區中的內容接續(如下圖所示),不知道用什么命令來清除緩存區(即讓指針歸零)。
    發表于 03-07 12:30