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