tengo una cadena con formato de un archivo de registro, que se parece:Python: Dividir por 1 o más ocurrencias de un delimitador
>>> a="test result"
es decir, la prueba y el resultado se dividen por algunos espacios - se probablemente fue creado usando una cadena formateada que dio test
un espaciado constante.
división simple no va a hacer el truco:
>>> a.split(" ")
['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result']
split(DELIMITER, COUNT)
aclarado algunos valores innecesarios:
>>> a.split(" ",1)
['test', ' result']
Esto ayudó - pero, por supuesto, que realmente necesita:
['test', 'result']
Puedo usar split()
seguido de map
+ strip()
, pero me preguntaba si hay una forma más pitonica de hacerlo.
Gracias,
Adam
ACTUALIZACIÓN: una solución tan simple! Gracias a todos.
En cuanto a por qué esto funciona: a.split (Ninguno) es un caso especial, que en Python significa "dividir en uno o más caracteres en blanco". re.split() es la solución de caso general. –
Se necesita usar str.split (None, maxsplit) ya que la función no acepta argumentos de palabra clave. Me pregunto porque. – tbrittoborges
la pregunta era cómo dividir con delimiter + (uno o más). Tu respuesta dice que cualquiera de los espacios en blanco se tomará como delimitador, que no es la respuesta correcta – Risinek