Ik'ben bezig met Python v2, en ik'ben aan het uitzoeken of je kunt zien of een woord in een string zit.
Ik heb wat informatie gevonden over het identificeren of het woord in de string zit - met behulp van .find, maar is er een manier om een IF statement te doen. Ik zou graag iets als het volgende willen hebben:
if string.find(word):
print 'success'
Bedankt voor alle hulp.
if 'seek' in 'those who seek shall find':
print('Success!')
maar denk eraan dat dit overeenkomt met een reeks tekens, niet noodzakelijkerwijs met een heel woord - bijvoorbeeld, 'woord' in 'zwaardsmid'
is True. Als je alleen hele woorden wilt matchen, zou je reguliere expressies moeten gebruiken:
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 geeft een geheel getal terug dat de index weergeeft van waar het zoekitem werd gevonden. Als het niet gevonden is, geeft het -1 terug.
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.'