En este tutorial vas a descubrir los diferentes métodos que existen para buscar una subcadena en Python. Todos estos métodos pertenecen a la clase String.
Comprobar si existe una subcadena con el operador in
Si solo necesitas comprobar que una subcadena está contenida en un texto, utiliza el operador in
. Este operador devuelve True
si encuentra la subcadena en la cadena y False
en caso contrario.
>>> 'ol' in 'hola' True >>> 'hel' in 'hola' False
Buscar una subcadena en Python con find
find(sub [, pos_ini, pos_final])
es parecido a utilizar el operador in
, con la diferencia de que si encuentra la subcadena sub
devuelve el índice por el que comienza la primera aparición de dicha subcadena, y -1
en caso contrario.
>>> cadena = 'me gusta la mermelada' >>> cadena.find('la') 9 >>> cadena.find('lo') -1 >>> cadena.find('la', 11) 17
Buscar una subcadena con index
index(sub [, pos_ini, pos_final])
es similar a find()
pero en caso de que no se encuentre la subcadena sub
lanza la excepción ValueError
.
>>> cadena = 'me gusta la mermelada' >>> cadena.index('lo') Traceback (most recent call last): File "<input>", line 1, in <module> ValueError: substring not found >>> cadena.index('la') 9
Encontrar la última posición de una subcadena en Python con rfind
rfind(sub [, pos_ini, pos_final])
devuelve el índice por el que comienza la última aparición de la subcadena sub
, y -1
si no se encuentra.
>>> cadena = 'me gusta la mermelada' >>> cadena.rfind('la') 17 >>> cadena.rfind('lo') -1
Encontrar la última posición de una subcadena con rindex
rindex(sub [, pos_ini, pos_final])
es similar a rfind()
pero en caso de que no se encuentre la subcadena sub
lanza la excepción ValueError
.
>>> cadena = 'me gusta la mermelada' >>> cadena.rindex('la') 17 >>> cadena.rindex('lo') Traceback (most recent call last): File "<input>", line 1, in <module> ValueError: substring not found
Contar el número de ocurrencias de una subcadena
Para obtener el número de veces que una subcadena aparece en un texto, utiliza el método count()
. count(sub [, pos_ini, pos_final])
devuelve el número de ocurrencias de la subcadena sub
en la cadena.
>>> cadena = 'me gusta la mermelada' >>> cadena.count('la') 2 >>> cadena.count('lo') 0
Comprobar si una cadena comienza por un prefijo en Python
Para comprobar si una cadena comienza por una subcadena, utiliza el método startswith()
. startswith(prefijo [, pos_ini, pos_fin])
devuelve True
si la cadena comienza por prefijo
y False
en caso contrario. prefijo
puede ser una tupla de prefijos a buscar.
>>> cadena = 'me gusta la mermelada' >>> cadena.startswith('me') True >>> cadena.startswith('no') False >>> cadena.startswith(('me', 'le', 'te')) True
Comprobar si una cadena finaliza con un sufijo en Python
Para comprobar si una cadena finaliza por una subcadena, utiliza el método endswith()
. endswith(sufijo [, pos_ini, pos_fin])
devuelve True
si la cadena termina por sufijo
y False
en caso contrario. sufijo
puede ser una tupla de sufijos a buscar.
>>> cadena = 'me gusta la mermelada' >>> cadena.endswith('da') True >>> cadena.endswith('drid') False >>> cadena.endswith(('drid', 'ro', 'la')) False >>> cadena.endswith(('drid', 'ro', 'da')) True
Pues hemos llegado al final de este tutorial. En él, hemos repasado los diferentes métodos que ofrece la clase String para buscar subcadenas en un texto en Python.