I'estou trabalhando com Python v2, e I'estou tentando descobrir se você pode dizer se uma palavra está em uma string.
Eu encontrei algumas informações sobre como identificar se a palavra está na string - usando .find, mas existe uma maneira de fazer uma declaração IF. Eu gostaria de ter algo como o seguinte:
if string.find(word):
print 'success'
Obrigado por qualquer ajuda.
if 'seek' in 'those who seek shall find':
print('Success!')
mas tenha em mente que isto corresponde a uma sequência de caracteres, não necessariamente uma palavra inteira - por exemplo, 'word' in 'swordsmith'
is True. Se você quiser apenas combinar palavras inteiras, você deve usar expressões 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 retorna um número inteiro representando o índice de onde o item de busca foi encontrado. Se for't encontrado, ele retorna -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.'