Python實用技法第21篇:在字串的開頭和結尾處做文字匹配

dunne21發表於2021-09-09

我們需要在字串的開頭和結尾處按照指定的文字模式做檢查,例如檢查檔案的副檔名、URL協議型別等。

有一種簡單的方法可用來檢查字串的開頭或結尾,只要使用str.startswith()和str.endswith()方法就可以了。

例項:

filename='mark.txt'
url=''

print(filename.endswith('.txt'))
print(url.startswith('https:'))

Python資源分享qun 784758214 ,內有安裝包,PDF,學習影片,這裡是Python學習者的聚集地,零基礎,進階,都歡迎

執行結果:

True
False

需要需要同時針對多個選項做檢查,只需要給startswith()和endswith()提供包含可能選項的元組即可:

url=''
print(url.startswith(('https:','http:')))

結果:

True

注意,多個選項只能使用元組,如果使用列表或集合,請首先使用tuple()將它們轉化為元組,否則會報錯。

有時候我們也比較傾向於使用正規表示式作為替代方案,例如:

import re
url=''
url2='utp://xxxxxx'
m=re.match('https:|http:|ftp',url)
m2=re.match('https:|http:|ftp',url2)
print(m)
print(m2)

結果:

<re.Match object; span=(0, 5), match='http:'>
None
Python資源分享qun 784758214 ,內有安裝包,PDF,學習影片,這裡是Python學習者的聚集地,零基礎,進階,都歡迎

這也行得通,但是通常對於簡單的匹配來說,這種方式過於重量級,使用startswith()、endswith()會更簡單,執行也更快。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2823485/,如需轉載,請註明出處,否則將追究法律責任。

相關文章