Usos y ejemplos de split en Python para separar cadenas

En la mayoría (si no es que en todos) los lenguajes de programación existe la función split, cuya forma de trabajar es tomar una cadena y regresar un arreglo de esa cadena separada por tokens.

Si tenemos una cadena como "Hola mundo" y usamos el espacio " " como delimitador, al usar split nos devuelve un arreglo o lista que tiene ["Hola", "Mundo"]. Como delimitador se puede usar cualquier cadena o carácter.

Ahora veamos más ejemplos de split, así como su uso en Python.

Split en Python

La definición oficial es:

cadena.split(separador, [maximoNumeroDeSeparaciones])

Regresa una lista de las palabras en la cadena, usando separador como el delimitador. Si maximoNumeroDeSeparaciones es dada, se hacen al menos maximoNumeroDeSeparaciones separaciones (en donde la lista resultante será de maximoNumeroDeSeparaciones + 1). Si no se especifica o se pone como -1, se regresan todas las separaciones posibles.

Cuidado con el argumento de maximoNumeroDeSeparaciones, porque si lo especificamos regresará una lista con cadenas separadas, pero si alcanza el número de separaciones entonces devuelve lo que sobra (sin separarlo anteriormente). Ya veremos más abajo en los ejemplos.

¿Para qué sirve split en Python?

Para convertir una cadena en una lista, utilizando un separador. También para extraer todas las palabras de una oración, leer datos separados por comas (como CSV, aunque debe haber una mejor manera por ahí) y otras cosas que tengan que ver con separar una cadena.

Split con separador

La forma más básica es como se ve a continuación:

Definimos un separador (que puede consistir de múltiples caracteres) y llamamos a split. Eso devuelve una lista con los elementos.

Usar split en Python con un separador de más caracteres

Split también sirve usando un delimitador de múltiples caracteres. En un ejemplo básico, si tenemos una cadena separada por una palabra y un número, así:

80Edad:1Edad:20Edad:12Edad:44

Podemos usar el separador "Edad:" para obtener una lista de las edades con este código:

Split con máximo número de separaciones

Ahora veamos cómo usar el máximo número de separaciones o el segundo argumento de split. Pongamos esta cadena separada por espacios:

Hola mundo estamos explicando el funcionamiento de split en Python

Si queremos que únicamente devuelva las dos primeras palabras que encuentre, ponemos el máximo a 2 (pero recuerda que devolverá una lista con maximoNumeroDeSeparaciones + 1):

Devuelve una lista de 3, con los dos elementos separados y el resto de la cadena en el último lugar.

Usos de split

Ahora veamos algunos usos que se me ocurren para ver cómo funciona split en Python.

Cuando tenemos un mensaje y decimos que pongan separados por saltos de línea

En algunos casos pedimos al usuario que introduzca datos usando una nueva línea cada uno. Por ejemplo una lista de enlaces o links separados por una línea. Para ello usamos el delimitador \n.

Cuando en un correo debemos separar el arroba

Usamos ahora el separador @. Si queremos únicamente el usuario, tomamos la parte 1. En caso de querer el dominio, tomamos la parte 2:

Cuando tenemos una lista separada por comas

También funcionaría para parsear una cadena CSV con Python, pero estoy seguro de que hay una forma más optimizada. El punto es que podemos usar la coma como delimitador, como en los ejemplos anteriores.

Conclusiones

Mira la documentación oficial aquí. También puedes ver cómo separar cadenas con un delimitador en C.

Usos y ejemplos de split en Python para separar cadenas

Por parzibyte Tiempo de lectura: 2 min
0