Expresiones regulares - split() y sub() - RegEx - Curso de Python desde cero - Capítulo 49

Nos encontramos casi en la meta del curso y es el momento de terminar con las expresiones regulares en este curso viendo split() y sub(). ¡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.

Código Python

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

terminal Resultado en la consola terminal

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:

Código Python

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

terminal Resultado en la consola terminal

['tr', ' trist', ' tigr', ' comen trigo en un trigal']

¿Cómo utilizar maxsplit de Python?

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

Código Python

maxsplitse 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)

terminal Resultado en la consola terminal

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']

La función sub() de Python

La función sub() reemplaza las coincidencias por lo que le especifiques en el segundo argumento.

Código Python

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)

terminal Resultado en la consola terminal

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:

Código Python

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

terminal Resultado en la consola terminal

tres-tristes-tigres-comen-trigo en un trigal

Suscríbete a mi canal de YouTube para apoyarme

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.


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.