How do I check for an EXACT word in a string in python
Basically I need to find a way to figure out a way to find the EXACT word in a string. All the information i have read online has only given me how to search for letters in a string so
98787This is correct
will still come back as true in an if statement.
This is what I have so far.
elif 'This is correct' in text:
print("correct")
This will work with any combination of letters before the Correct... For example fkrjCorrect, 4123Correct and lolcorrect will all come back as true in the if statement. When I want it to come back as true only IF it exactly matches "This is correct"
Solution 1:
You can use the word-boundaries of regular expressions. Example:
import re
s = '98787This is correct'
for words in ['This is correct', 'This', 'is', 'correct']:
if re.search(r'\b' + words + r'\b', s):
print('{0} found'.format(words))
That yields:
is found
correct found
EDIT: For an exact match, replace \b
assertions with ^
and $
to restrict the match to the begin and end of line.
Solution 2:
Use the comparison operator ==
instead of in
then:
if text == 'This is correct':
print("Correct")
This will check to see if the whole string is just 'This is correct'
. If it isn't, it will be False