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'
FalseBuscar 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)
17Buscar 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')
9Encontrar 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')
-1Encontrar 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 foundContar 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')
0Comprobar 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'))
TrueComprobar 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'))
TruePues 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.
