How can I match an exact word in a string?

For this kind of thing, regexps are very useful :

import re

print(re.findall('\\blocal\\b', "Hello, locally local test local."))
// ['local', 'local']

\b means word boundary, basically. Can be space, punctuation, etc.

Edit for comment :

print(re.sub('\\blocal\\b', '*****', "Hello, LOCAL locally local test local.", flags=re.IGNORECASE))
// Hello, ***** locally ***** test *****.

You can remove flags=re.IGNORECASE if you don’t want to ignore the case, obviously.

Leave a Comment