Python tiene varios métodos para manejar cadenas. En este tutorial, le mostraré cómo saber si una cadena contiene una subcadena.
Cómo verificar si una cadena contiene una subcadena
No importa si es solo una palabra, una letra o una frase que desea verificar en una cadena, con Python puede utilizar fácilmente los métodos integrados y la prueba de membresía en operador.
Vale la pena señalar que obtendrá un valor booleano (Verdadero o Falso) o un número entero para indicar si la cadena contiene lo que buscó. Sabrás más sobre esto a medida que muestro el código a continuación.
Echemos un vistazo a las posibles soluciones con la ayuda de las cuales puede encontrar si una cadena contiene una palabra/letra específica.
Método 1. Usando el operador 'in'
Supongamos que tiene una cadena "str" ya definida, así es como se verá:
stringexample = "terminator"
"ter" in str
El resultado de esto será "Verdadero ” porque la cadena contiene lo que busqué. Entonces, si busca algo y no existe en la cadena, obtendrá "Falso ” como salida.
Si aún no está seguro, permítame escribir un pequeño programa para explicar lo mismo:
stringexample = "Terminator"
substring = "ter"
if substring in stringexample:
print ("We've found the string!")
else:
print ("Oops, not found!")
La salida para el código anterior será:
We've found the string!
Método 2:Uso del método de búsqueda
Si desea utilizar un método para encontrar una subcadena, puede utilizar find() método. Así es como se hace:
stringexample = "kiki"
stringexample.find("ki")
La salida para esto será 0 .
La razón detrás de la salida es que este método devuelve el valor de índice más bajo cuando se encuentra la subcadena.
Si devuelve -1 eso significa que la cadena no contiene esa subcadena.
Aquí hay un pequeño programa para mostrarlo en acción:
stringexample = "Kiki"
substring = "ki"
if stringexample.find("ki") != -1:
print ("We've found the string!")
else:
print ("Oops, not found!")
La salida para el código anterior será:
We've found the string!
Método 3:Uso del método contains
__contiene__() es otra función para ayudarlo a verificar si una cadena contiene una letra/palabra en particular.
Así es como puedes usarlo:
stringexample = "kiki"
stringexample.__contains__("k")
Obtendrá el resultado como Verdadero/Falso . Para el fragmento de código anterior, obtendrá el resultado como:
True
Tenga en cuenta que hay 4 símbolos de subrayado involucrados cuando desea escribir el método (2 antes de la palabra y 2 después).
Aquí hay un programa para explicar lo mismo:
stringexample = "kiki"
if stringexample.__contains__("k") == True:
print ("Yeyy, found the substring!")
else:
print ("Oops, not found!")
En este caso, la salida es:
Yeyy, found the substring!
Conclusión
Si encuentra utilizar un algoritmo de búsqueda desde cero sin usar las funciones o las soluciones mencionadas anteriormente, puede echar un vistazo a algunos de los algoritmos de búsqueda de cadenas para explorar más sobre ellos.
Si tiene preguntas o sugerencias, hágamelo saber.