判斷字符串包含多個字符串中的一個或多個


開發過程中,常常需要判斷字符串是否存在指定的關鍵詞或排除詞,如果設置了多個關鍵詞,往往通過串聯and條件或借助for循環做判斷,有沒有更優雅的方法呢?

判斷一個字符串含有某個字符串中

p = "Tom is a boy,Lucy is a girl,they all like english!"
w= 'Tom'

print(w in p)
>>>True
print(p.find(w) > -1)
>>>True

判斷一個字符串含有多個字符串中的任意一個

p = "Tom is a boy,Lucy is a girl,they all like english!"
keywords= 'Tom,Lucy'
excludes = ['english','math']
print(any([w in p and w for w in keywords.split(',')]))
>>>True
print(any(e in p for e in excludes))
>>>True

判斷一個字符串含有多個字符串

p = "Tom is a boy,Lucy is a girl,they all like english!"
keywords= 'Tom,Lucy'
filters= ["boy","like"]
print(all(f in p for f in filters))
>>>True
print(all([w in p and w for w in keywords.split(',')]))
>>>True

計算一個字符串含有指定字符串的數量

p = "Tom is a boy,Lucy is a girl,Tom like math and Lucy like english!"
keywords= 'english,math,history,laws'
print sum([1 if w in p and w else 0 for w in keywords.split(',')])
>>>2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM