Python - Ελέγξτε αν η λέξη βρίσκεται σε μια συμβολοσειρά

Εργάζομαι με την Python v2 και προσπαθώ να μάθω αν μπορείτε να καταλάβετε αν μια λέξη βρίσκεται σε μια συμβολοσειρά.

Έχω βρει κάποιες πληροφορίες σχετικά με τον εντοπισμό αν η λέξη βρίσκεται στο αλφαριθμητικό - χρησιμοποιώντας το .find, αλλά υπάρχει τρόπος να κάνω μια δήλωση IF. Θα ήθελα να έχω κάτι σαν το ακόλουθο:

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

Ευχαριστώ για οποιαδήποτε βοήθεια.

Λύση

Τι συμβαίνει με:

if word in mystring: 
   print 'success'
Σχόλια (5)
if 'seek' in 'those who seek shall find':
    print('Success!')

αλλά να θυμάστε ότι αυτό ταιριάζει με μια ακολουθία χαρακτήρων, όχι απαραίτητα με μια ολόκληρη λέξη - για παράδειγμα, το 'λέξη' στο 'ξιφομάχος' είναι 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')    # -> 
findWholeWord('word')('swordsmith')                   # -> None
Σχόλια (5)

Η 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.'
Σχόλια (0)