Estoy trabajando con Python v2, y estoy intentando averiguar si se puede saber si una palabra está en una cadena.
He encontrado algo de información sobre cómo identificar si la palabra está en la cadena - usando .find, pero ¿hay una manera de hacer una declaración IF. Me gustaría tener algo como lo siguiente:
if string.find(word):
print 'success'
Gracias por cualquier ayuda.
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 entera - por ejemplo, 'palabra' en 'espadachín'
es True. Si sólo quiere coincidir con palabras enteras, 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
find devuelve un número entero que representa el índice donde se encontró el elemento buscado. Si no se encuentra, devuelve -1.
haystack = 'asdf'
haystack.find('a') # result: 0
haystack.find('s') # result: 1
haystack.find('g') # result: -1
if haystack.find(needle) >= 0:
print 'Needle found.'
else:
print 'Needle not found.'