Работя с Python v2 и се опитвам да разбера дали можете да определите дали дадена дума е в низ.
Намерих някаква информация за това как да определя дали думата е в низ - като използвам .find, но има ли начин да направя оператор IF. Бих искал да имам нещо подобно на следното:
if string.find(word):
print 'success'
Благодаря за всяка помощ.
if 'seek' in 'those who seek shall find':
print('Success!')
но имайте предвид, че това съвпада с поредица от символи, а не непременно с цяла дума - например 'word' в 'swordsmith'
е True. Ако искате да съвпадате само с цели думи, трябва да използвате регулярни изрази:
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 връща цяло число, представляващо индекса на мястото, където е намерен търсеният елемент. Ако не е намерен, се връща -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.'