Comprobar si una palabra está en una cadena en Python
Estoy trabajando con Python y estoy tratando de averiguar si puedes saber si una palabra está en una cadena.
Encontré información sobre cómo identificar si la palabra está en la cadena usando .find
, pero ¿hay alguna manera de hacer una if
declaración? Me gustaría tener algo como lo siguiente:
if string.find(word):
print("success")
Aceptado
Lo que está mal con:
if word in mystring:
print('success')
if 'seek' in 'those who seek shall find':
print('Success!')
pero tenga en cuenta que esto coincide con una secuencia de caracteres, no necesariamente con una palabra completa; por ejemplo, 'word' in 'swordsmith'
es Verdadero. Si sólo desea hacer coincidir palabras completas, debe utilizar expresiones regulares:
import re
def findWholeWord(w):
return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
findWholeWord('seek')('those who seek shall find') # -> <match object>
findWholeWord('word')('swordsmith') # -> None