Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I check for an EXACT word in a string in python

Tags:

python

string

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"

like image 927
user2750103 Avatar asked Sep 05 '13 09:09

user2750103


People also ask

How do you check if a string contains a specific word in Python?

The simplest way to check if a string contains a substring in Python is to use the in operator. This will return True or False depending on whether the substring is found. For example: sentence = 'There are more trees on Earth than stars in the Milky Way galaxy' word = 'galaxy' if word in sentence: print('Word found.

How do you check if a specific word is in a string?

You can use the PHP strpos() function to check whether a string contains a specific word or not. The strpos() function returns the position of the first occurrence of a substring in a string. If the substring is not found it returns false . Also note that string positions start at 0, and not 1.

How do you check if a word is in a string pandas?

str. contains() function is used to test if pattern or regex is contained within a string of a Series or Index. The function returns boolean Series or Index based on whether a given pattern or regex is contained within a string of a Series or Index.


2 Answers

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.

like image 108
Birei Avatar answered Sep 28 '22 19:09

Birei


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

like image 27
TerryA Avatar answered Sep 28 '22 19:09

TerryA