Python - Kelimenin Bir String İçinde Olup Olmadığını Kontrol Edin

Python v2 ile çalışıyorum ve bir kelimenin bir string içinde olup olmadığını anlayıp anlayamayacağınızı öğrenmeye çalışıyorum.

Sözcüğün dizede olup olmadığını belirlemekle ilgili bazı bilgiler buldum - .find kullanarak, ancak bir IF deyimi yapmanın bir yolu var mı? Aşağıdaki gibi bir şeye sahip olmak istiyorum:

if string.find(word):
    print 'success'

Yardımlarınız için teşekkürler.

Çözüm

Nesi varmış:

if word in mystring: 
   print 'success'
Yorumlar (5)
if 'seek' in 'those who seek shall find':
    print('Success!')

ancak bunun bir karakter dizisiyle eşleştiğini, tüm bir kelimeyle eşleşmesi gerekmediğini unutmayın - örneğin, 'swordsmith'içindeki'word' True'dur. Yalnızca tüm sözcükleri eşleştirmek istiyorsanız, düzenli ifadeler kullanmanız gerekir:

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')    # -> 
findWholeWord('word')('swordsmith')                   # -> None
Yorumlar (5)

find, arama öğesinin bulunduğu yerin dizinini temsil eden bir tamsayı döndürür. Eğer bulunamazsa -1 döndürür.

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.'
Yorumlar (0)