一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python七種方法判斷字符串是否包含子串

python七種方法判斷字符串是否包含子串

2020-08-18 23:57寫代碼的明哥 Python

這篇文章主要介紹了python七種方法判斷字符串是否包含子串,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

1. 使用 in 和 not in

in 和 not in 在 Python 中是很常用的關鍵字,我們將它們歸類為 成員運算符。

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

?
1
2
3
4
5
>>> "llo" in "hello, python"
True
>>>
>>> "lol" in "hello, python"
False

2. 使用 find 方法

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

?
1
2
3
4
5
>>> "hello, python".find("llo") != -1
True
>>> "hello, python".find("lol") != -1
False
>>

3. 使用 index 方法

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

?
1
2
3
4
5
6
7
8
9
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 就說明子串存在于字符串中。

?
1
2
3
4
5
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 。

示例如下:

?
1
2
3
4
5
6
>>> "hello, python".__contains__("llo")
True
>>>
>>> "hello, python".__contains__("lol")
False
>>>

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

6. 借助 operator

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

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

?
1
2
3
4
5
6
7
>>> import operator
>>>
>>> operator.contains("hello, python", "llo")
True
>>> operator.contains("hello, python", "lol")
False
>>>

7. 使用正則匹配

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

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

?
1
2
3
4
5
6
7
8
9
10
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七種方法判斷字符串是否包含子串的詳細內(nèi)容,更多關于python 字符串的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.tuicool.com/articles/M3IJ3uR

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲免费网站在线观看 | 亚洲精品国产精品麻豆99 | 久久伊人在 | 91精品国产免费久久 | 万域之王在线观看 | 黑人日白人 | 亚洲欧美日韩中文高清一 | 欧美日韩一区二区综合在线视频 | 福利视频久久 | 亚洲福利 影院 | caoporm碰最新免费公开视频 | 欧美视频在线一区二区三区 | 国产日韩欧美在线一区二区三区 | 精品久久久久香蕉网 | 亚洲精品久久久久福利网站 | 日韩性事 | 欧美视频在线一区二区三区 | 黑人巨荃大战乌克兰美女 | 欧美人妖草草xxoo | 无人视频在线观看完整版高清 | 亚洲精品国产一区二区三区在 | 国产精品久热 | 青青国产成人久久91网 | 欧美一区a | 五月色婷婷在线影院 | 免费的网址 | 国产成人精品一区二区不卡 | 国产主播福利在线观看 | 精品国产一区二区三区在线观看 | 麻生希在线观看 | 亚洲香蕉伊在人在线观看9 亚洲系列国产系列 | 给我免费的视频在线观看 | 很黄的网站在线观看 | 美国女网址www呦女 美国复古性经典xxxxx | 欧美日韩精品在线观看 | 四虎现在的网址入口2022 | 暖暖 免费 高清 日本 在线1 | 色综合天天综合网站中国 | 日本私人影院 | 嗯好爽视频 | 俄罗斯freeⅹ性欧美 |