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

Curso de Python desde cero


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

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

Código

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

Resultado

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

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

Resultado

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

maxsplit

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

Código

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)

Resultado

Muestra hasta 4 resultados (si los tiene) y el resto de coincidencias las ignora y las deja como resto, con lo que nos da como resultado 5 elementos en este ejemplo (4 resultados + resto).

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

La función sub()

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

Código

En el primer argumento se especifica lo que quieres buscar, en el segundo lo que quieres que se remplace 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)

Resultado

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

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

Resultado

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.