Curso de Python desde cero

Los métodos split() y sub() de Python

Capítulo 49: Expresiones regulares - split() y sub() - RegEx

Nos encontramos casi en la meta del curso y es el momento de terminar con las expresiones regulares en este curso viendo el método split() y el método sub() y lo que verás en el siguiente capítulo.
¡Empecemos!

La función split() en Python

Empecemos con la función split(). Esta función divide una cadena de caracteres según un patrón de búsqueda.

import re

texto = "tres tristes tigres comen trigo en un trigal"
busqueda = re.split(" ", texto)
print(busqueda)

El resultado de utilizar split() con un espacio como patrón, es que me excluye todos los espacios del string y me los separa palabra por palabra en una lista.

['tres', 'tristes', 'tigres', 'comen', 'trigo', 'en', 'un', 'trigal']

Por supuesto, no solo funciona con espacios, puedes indicarle que excluya y divida cualquier cosa:

import re

texto = "tres tristes tigres comen trigo en un trigal"
busqueda = re.split("es", texto)
print(busqueda)
['tr', ' trist', ' tigr', ' comen trigo en un trigal']

¿Cómo utilizar maxsplit() de Python?

maxsplit() controla el máximo de coincidencias que devuelve split().

maxsplit() se representa como el tercer argumento de split(), en este caso el 4.

import re

texto = "tres tristes tigres comen trigo en un trigal"
busqueda = re.split(" ", texto, 4)
print(busqueda)

Muestra hasta cuatro resultados, si los tiene. El resto de coincidencias las ignora y las deja como resto, con lo que nos da como resultado cinco elementos en este ejemplo (cuatro resultados más el resto).

['tres', 'tristes', 'tigres', 'comen', 'trigo en un trigal']

El método sub() de Python

método sub() reemplaza las coincidencias por lo que le especifiques en el segundo argumento.

En el primer argumento se especifica lo que quieres buscar, en el segundo lo que quieres que se reemplace en las coincidencias y el tercero es de donde quieres hacer estas acciones.

import re

texto = "tres tristes tigres comen trigo en un trigal"
busqueda = re.sub(" ",  "-",  texto)
print(busqueda)
tres-tristes-tigres-comen-trigo-en-un-trigal

Limitar los resultados de sub con count

Puedes limitar los resultados que reemplaza sub() añadiendo el número como cuarto parámetro:

import re

texto = "tres tristes tigres comen trigo en un trigal"
busqueda = re.sub(" ",  "-",  texto, 4)
print(busqueda)
tres-tristes-tigres-comen-trigo en un trigal

Comentarios

Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.