Python | Get matching substrings in a string



Method # 1: Using List Comprehension
Using List Comprehension — it is a naive and brute force method to accomplish this particular task. In this method, we are trying to get the corresponding string using the “in” operator and store it in a new list.

# Python3 code to demonstrate how it works
# Get matching substrings in a string
# Using comprehension list

 
# initialization string

test_str = "GfG is good website"

  
# initializing potential substrings

test_list = [ "GfG" , " site " , "CS" , "Geeks" , "Tutorial" ]

 
# print original line

print ( "The original string is:" + test_str)

 
# print a list of potential lines

print ( "The original list is: " + str (test_list))

 
# using comprehension list
# Get matching substrings in a string

res = [sub for sub in test_list if sub in test_str]

 
# print result

print ( "The list of found substrings: " + str (res))

Output:

 The original string is: GfG is good website The original list is: [`GfG`,` site`, `CS`,` Geeks`, `Tutorial`] The list of found substrings: [` GfG`, `site`] 

 

Method # 2: Using filter () + lambda
This task can also be performed using a filter function, which performs the task of filtering the resulting rows that are checked for existence using a lambda function.

# Python3 code to demonstrate how it works
# Get matching substrings in a string
# Using lambda and filter ()

 
# initialization string

test_str = "GfG is good website"

 
# initializing potential substrings

test_ list = [ "GfG" , "site" , "CS" , "Geeks" , "Tutorial" ]

 
# print the original string

print ( " The original string is: " + test_str)

 
# print a list of potential lines

print ( "The original list is:" + str (test_list))

 
# using lambda and filter ()
# Get matching substrings in a string

res = list ( filter ( lambda x: x in test_str, test_list))

 
# print result

print ( "The list of found substrings:" + str (res))

Exit:

 The original s tring is: GfG is good website The original list is: [`GfG`,` site`, `CS`,` Geeks`, `Tutorial`] The list of found substrings: [` GfG`, `site`]