Sto lavorando con Python v2, e sto cercando di scoprire se si può dire se una parola è in una stringa.
Ho trovato alcune informazioni su come identificare se la parola è nella stringa - usando .find, ma c'è un modo per fare una dichiarazione IF. Vorrei avere qualcosa come il seguente:
if string.find(word):
print 'success'
Grazie per qualsiasi aiuto.
if 'seek' in 'those who seek shall find':
print('Success!')
ma tenete a mente che questo corrisponde a una sequenza di caratteri, non necessariamente a una parola intera - per esempio, 'parola' in 'swordsmith'
è True. Se vuoi far corrispondere solo parole intere, dovresti usare le espressioni regolari:
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 restituisce un intero che rappresenta l'indice di dove è stato trovato l'elemento di ricerca. Se non viene trovato, restituisce -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.'