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