Pracujem s Pythonom v2 a snažím sa zistiť, či sa dá zistiť, či je slovo v reťazci.
Našiel som nejaké informácie o tom, ako zistiť, či je slovo v reťazci - pomocou príkazu .find, ale je nejaký spôsob, ako urobiť príkaz IF. Chcel by som mať niečo podobné:
if string.find(word):
print 'success'
Ďakujem za akúkoľvek pomoc.
if 'seek' in 'those who seek shall find':
print('Success!')
ale nezabudnite, že sa zhoduje s postupnosťou znakov, nie nevyhnutne s celým slovom - napríklad 'word' v 'swordsmith'
je True. Ak chcete porovnať iba celé slová, mali by ste použiť regulárne výrazy:
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 vráti celé číslo predstavujúce index miesta, kde bola nájdená hľadaná položka. Ak nie je nájdená, vráti -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.'