Buscar subcadena en Python

Buscar subcadena en python

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.

¿Quieres ser expert@ en Python? Recibe trucos Python y las últimas novedades del blog

¡Eyyy! Esto también te puede interesar 👇

* Te informo de que los datos de carácter personal que proporciones al comentar serán tratados por Juan José Lozano Gómez como responsable de esta web. La Finalidad es moderar los comentarios. La Legitimación es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en Disqus (disqus.com), mi sistema de comentarios, que está acogido al acuerdo de seguridad EU-US Privacy. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a juanjo@j2logo.com. Encontrarás más información en la POLÍTICA DE PRIVACIDAD.

Sobre j2logo

j2logo profile

Quiero ayudarte a que seas mejor programador/a, pero no uno cualquiera, sino uno de los top.

¿Quieres ser expert@ en Python? 🐍

❤️ He ayudado a miles de programadores/as como tú a ser mejores Pythonistas

📩 Recibe de vez en cuando trucos y scripts Python y las últimas novedades del blog

* Al enviar el formulario confirmas que aceptas la POLITICA DE PRIVACIDAD

¿Quieres ser expert@ en PYTHON?

j2logo-pythonistas

❤️ He ayudado a miles de programadores/as como tú

📩 Recibe trucos, scripts y las novedades del blog

¿Quieres dominar Python?

Python, Guía para ser un Pythonista

El curso con el que aprender el lenguaje desde cero. Con mi soporte y ayuda.

OFERTA BLACK FRIDAY

35% de descuento