Lucrez cu Python v2 și încerc să aflu dacă se poate spune dacă un cuvânt se află într-un șir de caractere.
Am găsit câteva informații despre identificarea dacă cuvântul se află în șir - folosind .find, dar există o modalitate de a face o declarație IF. Aș dori să am ceva de genul următor:
if string.find(word):
print 'success'
Vă mulțumesc pentru orice ajutor.
if 'seek' in 'those who seek shall find':
print('Success!')
dar rețineți că acesta se potrivește cu o secvență de caractere, nu neapărat cu un cuvânt întreg - de exemplu, 'word' în 'swordsmith'
este True. Dacă doriți să potriviți doar cuvinte întregi, ar trebui să folosiți expresii regulate:
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 returnează un număr întreg care reprezintă indexul în care a fost găsit elementul căutat. Dacă nu este găsit, returnează -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.'