Python: How to check a string for substrings from a list?

user1045620 picture user1045620 · Nov 14, 2011 · Viewed 98.2k times · Source

Possible Duplicate:
Check if multiple strings exist in another string

I can't seem to find an equivalent of code that functions like this anywhere for Python:

Basically, I'd like to check a string for substrings contained in a list.

Answer

Sven Marnach picture Sven Marnach · Nov 14, 2011

Try this test:

any(substring in string for substring in substring_list)

It will return True if any of the substrings in substring_list is contained in string.

Note that there is a Python analogue of Marc Gravell's answer in the linked question:

from itertools import imap
any(imap(string.__contains__, substring_list)) 

In Python 3, you can use map directly instead:

any(map(string.__contains__, substring_list))

Probably the above version using a generator expression is more clear though.