Comprobar si existe una palabra en una cadena en Python

Fariba Laiq 21 junio 2023
  1. Utilice el operador in para comprobar si existe una palabra en una cadena en Python
  2. Use el método String.find() para verificar si una palabra existe en una cadena en Python
  3. Use el método String.index() para verificar si una palabra existe en una cadena en Python
  4. Use el método buscar() para verificar si una palabra existe en una cadena en Python
Comprobar si existe una palabra en una cadena en Python

Supongamos que existe una cadena "El clima es tan agradable hoy". Si queremos comprobar si la palabra "weather" está presente en la cadena o no, tenemos varias formas de averiguarlo.

En esta guía, veremos el operador in, el método string.find(), el método string.index() y la expresión regular (RegEx).

Utilice el operador in para comprobar si existe una palabra en una cadena en Python

Una de las formas más sencillas de buscar una palabra en una cadena o secuencias como listas, tuplas o matrices es a través del operador en. Devuelve un valor booleano cuando se usa en una condición.

Puede ser true o false. Si la palabra especificada existe, la declaración se evalúa como true; si la palabra no existe, se evalúa como false.

Este operador distingue entre mayúsculas y minúsculas. Si intentamos localizar la palabra Diversión en el siguiente código, obtendremos el mensaje Diversión no encontrada en la salida.

Código de ejemplo:

# Python 3.x
sentence = "Learning Python is fun"
word = "fun"
if word in sentence:
    print(word, "found!")
else:
    print(word, "not found!")

Producción :

#Python 3.x
fun found!

Si queremos buscar una palabra dentro de una cadena sin preocuparnos por las mayúsculas y minúsculas, debemos convertir la cadena principal y la palabra a buscar en minúsculas. En el siguiente código, comprobaremos la palabra Diversión.

Código de ejemplo:

# Python 3.x
sentence = "Learning Python is fun"
word = "Fun"
if word.lower() in sentence.lower():
    print(word, "found!")
else:
    print(word, "not found!")

Producción

#Python 3.x
Fun found!

Use el método String.find() para verificar si una palabra existe en una cadena en Python

Podemos usar el método find() con una cadena para buscar una palabra específica. Si la palabra especificada existe, devolverá el “más a la izquierda” o el “índice de inicio” de la palabra en la cadena principal.

De lo contrario, simplemente devolverá el índice –1. El método find() también cuenta el índice de espacios. En el siguiente código, obtenemos la salida 9 porque 9 es el índice inicial de Python, el índice del carácter P.

Este método también distingue entre mayúsculas y minúsculas de forma predeterminada. Si buscamos la palabra python, devolverá -1.

Código de ejemplo:

# Python 3.x
string = "Learning Python is fun"
index = string.find("Python")
print(index)

Producción :

#Python 3.x
9

Use el método String.index() para verificar si una palabra existe en una cadena en Python

index() es lo mismo que el método find(). Este método también devuelve el índice más bajo de la subcadena en la cadena principal.

La única diferencia es que cuando la palabra o subcadena especificada no existe, el método find() devuelve el índice –1, mientras que el método index() genera una excepción (excepción de error de valor).

Código de ejemplo:

# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Python"))

Producción :

#Python 3.x
9

Ahora tratamos de encontrar una palabra que no exista en la oración.

# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Java"))

Producción :

#Python 3.x
ValueError                                Traceback (most recent call last)
<ipython-input-12-544a99b6650a> in <module>()
      1 mystring = "Learning Python is fun"
----> 2 print(mystring.index("Java"))

ValueError: substring not found

Use el método buscar() para verificar si una palabra existe en una cadena en Python

Podemos buscar una palabra específica a través de la coincidencia de patrones de cadenas a través del método buscar(). Este método está disponible en el módulo re.

El re aquí significa Expresión regular. El método de búsqueda acepta dos argumentos.

El primer argumento es la palabra a buscar y el segundo es la cadena completa. Pero este método funciona más lento que los otros.

Código de ejemplo:

# Python 3.x
from re import search

sentence = "Learning Python is fun"
word = "Python"
if search(word, sentence):
    print(word, "found!")
else:

    print(word, "not found!")

Producción :

#Python 3.x
Python found!
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python String