Εργάζομαι με την Python v2 και προσπαθώ να μάθω αν μπορείτε να καταλάβετε αν μια λέξη βρίσκεται σε μια συμβολοσειρά.
Έχω βρει κάποιες πληροφορίες σχετικά με τον εντοπισμό αν η λέξη βρίσκεται στο αλφαριθμητικό - χρησιμοποιώντας το .find, αλλά υπάρχει τρόπος να κάνω μια δήλωση IF. Θα ήθελα να έχω κάτι σαν το ακόλουθο:
if string.find(word):
print 'success'
Ευχαριστώ για οποιαδήποτε βοήθεια.
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') # -> <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.'