Python | Comprobar si la substring está presente en la string

Resolvamos este problema general de encontrar si un trozo particular de cuerda está presente en una cuerda más grande de diferentes maneras. Este es un tipo de problema muy común que todo programador encuentra al menos una vez en su vida. Este artículo da varias técnicas para resolverlo. 

Método 1: usar el operador in El operador in es el método más genérico y rápido para verificar una substring, el poder del operador in en python es muy conocido y se usa en muchas operaciones en todo el lenguaje. 
 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using in operator
 
# initializing string
test_str = "GeeksforGeeks"
 
# using in to test
# for substring
print ("Does for exists in GeeksforGeeks ? : ")
if "for" in test_str :
    print ("Yes, String found")
else :
    print ("No, String not found")

Producción :

Does for exists in GeeksforGeeks ? : 
Yes, String found

Método 2: usar str.find() El método str.find() generalmente se usa para obtener el índice más bajo en el que se encuentra la string, pero también devuelve -1, si la string no está presente, por lo tanto, si algún valor devuelve> = 0, la string está presente, de lo contrario no está presente. 
 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using str.find()
 
# initializing string
test_str = "GeeksforGeeks"
 
# using str.find() to test
# for substring
res = test_str.find("for")
if res >= 0:
    print ("for is present in GeeksforGeeks")
else :
    print ("for is not present in GeeksforGeeks")

Producción :

for is present in GeeksforGeeks

Método 3: usar str.index() Este método se puede usar para realizar una tarea similar, pero al igual que str.find(), no devuelve un valor, sino un ValueError si la string no está presente, por lo tanto, la captura de la excepción es la forma de verificar la string en la substring. 
 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using str.index()
 
# initializing string
test_str = "GeeksforGeeks"
 
# using str.index() to test
# for substring
try :
    res = test_str.index("forg")
    print ("forg exists in GeeksforGeeks")
except :
    print ("forg does not exists in GeeksforGeeks")

Producción :

forg does not exists in GeeksforGeeks

Método 4: Uso de operator.contains() Este es un método menos conocido para verificar la substring en una string, este método también es efectivo para realizar esta tarea de verificar una string en una string. 
 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using operator.contains()
import operator
 
# initializing string
test_str = "GeeksforGeeks"
 
# using operator.contains() to test
# for substring
if operator.contains(test_str, "for"):
    print ("for is present in GeeksforGeeks")
else :
    print ("for is not present in GeeksforGeeks")

Producción :

for is present in GeeksforGeeks

Método n. ° 5: uso de la función String.count(): esta función se usa para contar la presencia del elemento en la string. Podemos usar esta función para verificar la existencia de una string en una string grande. Si existe una string en una string, devuelve algún número; de lo contrario, devuelve 0. 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using String.count()
 
# initializing string
test_str = "GeeksforGeeks"
 
# Substring
temp = "for"
# using String.count to test
# for substring
ans = test_str.count(temp)
# Printing our result
if ans:
    print ("for is present in GeeksforGeeks")
else :
    print ("for is not present in GeeksforGeeks")

Producción:

for is present in GeeksforGeeks

Método #6: Uso de la función re.search(): la función re.search() se usa para buscar un patrón en una string. Podemos usar una substring como patrón para buscar en una string. 

Python3

# Python 3 code to demonstrate
# checking substring in string
# using re.search()
import re
# initializing string
test_str = "GeeksforGeeks"
 
# Substring
temp = "forg"
# using re.search to test
# for substring
ans = re.search(temp, test_str)
# Printing our result
if ans:
    print ("forg is present in GeeksforGeeks")
else :
    print ("forg is not present in GeeksforGeeks")

Producción:

forg is not present in GeeksforGeeks

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 *