Saltar al contenido

Python split – Dividir string en Python en tokens

python split - Dividir string en python con split

En este tutorial te voy a mostrar cómo dividir una cadena de caracteres en Python con el método split() de la clase string.

Método split en Python

El método split(sep=None, maxsplit=-1) en Python devuelve una lista de palabras o tokens usando sep como cadena de separación. Básicamente, se utiliza para dividir o separar un string en partes.

Si no se pasa el argumento sep o este es None, cualquier espacio en blanco será eliminado, incluyendo los del comienzo y fin de la cadena y cualquier carácter que se imprima en blanco, como \n \t o \r:

>>> '  Me    gusta \t\nPython     '.split()
['Me', 'gusta', 'Python']

Fíjate que el resultado es diferente si se indica sep=' ':

>>> '  Me    gusta \t\nPython     '.split(' ')
['', '', 'Me', '', '', '', 'gusta', '\t\nPython', '', '', '', '', '']

Como te decía, sep puede ser un carácter:

>>> '1,2,3'.split(sep=',')
['1', '2', '3']

O una cadena (en este caso, la coma y un espacio):

>>> '1, 2, 3'.split(sep=', ')
['1', '2', '3']

Además, si se especifica el argumento sep, los delimitadores que aparezcan juntos no se agrupan. En su lugar, se crea como token una cadena vacía '':

>>> '1,,2,,,3'.split(',')
['1', '', '2', '', '', '3']

Limitando el número de divisiones que realiza split

Para terminar este minitutorial, veremos que al usar split en Python se puede indicar el número máximo de divisiones a realizar especificando el argumento maxsplit:

>>> 'Me gusta Python'.split(maxsplit=1)
['Me', 'gusta Python']

>>> '1, 2, 3, 4, 5'.split(sep=', ', maxsplit=2)
['1', '2', '3, 4, 5']