Wie kann ich mit Python feststellen, ob eine Zeichenfolge eine oder mehrere von mehreren Zeichenfolgen enthält?

Während des Entwicklungsprozesses muss häufig festgestellt werden, ob ein bestimmtes Schlüsselwort oder Ausschlusswort in einer Zeichenfolge vorhanden ist. Wenn mehrere Schlüsselwörter festgelegt sind, erfolgt die Beurteilung häufig durch Verketten und Bedingungen oder mithilfe einer for-Schleife. Gibt es eine elegantere Methode? ?

Bestimmen Sie, ob eine Zeichenfolge eine bestimmte Zeichenfolge enthält

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

Bestimmen Sie, ob eine Zeichenfolge eine von mehreren Zeichenfolgen enthält

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

Stellen Sie fest, ob eine Zeichenfolge mehrere Zeichenfolgen enthält

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

Zählen Sie, wie oft eine Zeichenfolge die angegebene Zeichenfolge enthält

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

Guess you like

Origin blog.csdn.net/weixin_42445362/article/details/109819677