Saber si un texto contiene otro texto en Python

Publicado por Haugh CC
hace 4 años

Cómo saber si un texto contiene otro texto en Python? Necesito hacer algo como esto:

texto = "alfajor de chocolate"
if texto.contains("chocolate")
    print("ok")
python
Respuesta de Gordon Shumway
hace 4 años

Podés simplemente utilizar el operador in el cual retornará True o False.

"chocolate" in "alfajor de chocolate"
// True

Aunque si te parece necesario saber en qué índice está el otro texto podés utilizar el método find:

"alfajor de chocolate".find("de")
// 8

Este método también puede recibir dos parámetros extra especificando los índices de inicio y fin para la búsqueda. Es decir para buscar el texto solo entre esos índices:

// Busca entre el segundo y el sexto caracter
"alfajor de chocolate".find("de", 1, 5)
// -1

En el ejemplo anterior como la palabra "de" no aparece entre esos dos índices (1, 5) la función devuelve -1 lo que significa que no se encontró. Saludos.