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