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.