Comprobar si existe una palabra en una cadena en Python
-
Utilice el operador
in
para comprobar si existe una palabra en una cadena en Python -
Use el método
String.find()
para verificar si una palabra existe en una cadena en Python -
Use el método
String.index()
para verificar si una palabra existe en una cadena en Python -
Use el método
buscar()
para verificar si una palabra existe 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!
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