Python | Obtener substrings coincidentes en string

La prueba de una sola substring en una string se ha discutido muchas veces. Pero a veces, tenemos una lista de substrings potenciales y verificamos cuáles ocurren en una string de destino como una substring. Analicemos ciertas formas en que se puede realizar esta tarea. 
 

Método #1: Uso de la comprensión de listas 
El uso de la comprensión de listas es el método ingenuo y de fuerza bruta para realizar esta tarea en particular. En este método, intentamos obtener la string coincidente usando el operador «en» y almacenarla en la nueva lista. 

Python3

# Python3 code to demonstrate working of
# Get matching substrings in string
# Using list comprehension
 
# initializing string
test_str = "GfG is good website";
 
# initializing potential substrings
test_list = ["GfG", "site", "CS", "Geeks", "Tutorial"]
 
# printing original string
print("The original string is : " + test_str)
 
# printing potential strings list
print("The original list is : " + str(test_list))
 
# using list comprehension
# Get matching substrings in string
res = [sub for sub in test_list if sub in test_str]
 
# printing result
print("The list of found substrings : " + str(res))
Producción : 

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

Método #2: Usar filter() + lambda 
Esta tarea también se puede realizar usando la función de filtro que realiza la tarea de filtrar las strings resultantes cuya existencia se verifica usando la función lambda. 

Python3

# Python3 code to demonstrate working of
# Get matching substrings in string
# Using lambda and filter()
 
# initializing string
test_str = "GfG is good website";
 
# initializing potential substrings
test_list = ["GfG", "site", "CS", "Geeks", "Tutorial"]
 
# printing original string
print("The original string is : " + test_str)
 
# printing potential strings list
print("The original list is : " + str(test_list))
 
# using lambda and filter()
# Get matching substrings in string
res = list(filter(lambda x:  x in test_str, test_list))
 
# printing result
print("The list of found substrings : " + str(res))
Producción : 

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

Método #3: Usando el método find().
El método find() devuelve la posición de la string pasada como argumento en la string dada o devuelve -1

Python3

# Python3 code to demonstrate working of
# Get matching substrings in string
 
# initializing string
test_str = "GfG is good website"
 
# initializing potential substrings
test_list = ["GfG", "site", "CS", "Geeks", "Tutorial" ]
 
# printing original string
print("The original string is : " + test_str)
 
# printing potential strings list
print("The original list is : " + str(test_list))
 
 
# Get matching substrings in string
res=[]
for i in test_list:
    if(test_str.find(i)!=-1 and i not in res):
        res.append(i)
# printing result
print("The list of found substrings : " + str(res))
Producción

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

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *