Es strādāju ar Python v2, un es mēģinu noskaidrot, vai jūs varat noteikt, vai vārds ir virknē.
Esmu atradis informāciju par to, kā noteikt, vai vārds ir rindā - izmantojot .find, bet vai ir veids, kā izdarīt IF izteikumu. Es gribētu, lai būtu kaut kas līdzīgs šādam:
if string.find(word):
print 'success'
Paldies par palīdzību.
if 'seek' in 'those who seek shall find':
print('Success!')
bet paturiet prātā, ka tas atbilst rakstzīmju virknei, ne obligāti veselam vārdam - piemēram, 'word' in 'swordsmith'
ir True. Ja vēlaties saskaņot tikai veselus vārdus, jums vajadzētu izmantot regulārās izteiksmes:
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 atgriež veselu skaitli, kas norāda indeksu, kurā atrasts meklētais vienums. Ja tas nav atrasts, atgriež -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.'