[Python-es] problema con split() cuando el caracter separador debe ser tomado literalmente

cesar husillos cesar_husillos en yahoo.es
Jue Abr 5 21:41:22 CEST 2012


Hola a tod en s:

Ahi va una propuesta: si conoces la posición del separador que marca la diferencia entre elementos juntos y separados, puedes ejecutar un código como el siguiente:

>>> lista = "a,b,c".split(',')
>>> [",".join (lista[:2])] + lista [2:]
['a,b', 'c']

En este caso, me interesa mantener los elementos 0 y 1 juntos, y el resto separados.

Saludos


________________________________
 De: Jose Caballero <jcaballero.hep en gmail.com>
Para: La lista de python en castellano <python-es en python.org> 
Enviado: Jueves 5 de abril de 2012 17:20
Asunto: [Python-es] problema con split() cuando el caracter separador debe ser tomado literalmente
 

Hola, 


necesito hacer split() de una cadena de caracteres, usando la coma ',' como caracter separador. 
Asi, "a,b,c" debe convertirse en ["a", "b", "c"]

El problema viene cuando quiero que la coma sea tomada literalmente. 
En este caso "a,b,c" tendria que convertirse, por ejemplo, en ["a,b" , "c"]

Una posible solucion es 'escapear' la coma que debe ser tomada literalmente. 
"a\,b,c" -> ["a,b", "c"]

Bien. 
Pero y si en el caso anterior realmente la coma es caracter separador, y la barra es parte del primer substring? 
Es decir, que "a\,b,c" quiero que se convierta en ["a\", "b", "c"]

Tendria que escapear tambien la barra? No se convierte esto en un problema ciclico?

Lo puedo intentar resolver a mano. 
Pero si alguien tiene un link a un snippet donde este problema ya esta resuelto, me puedo ahorrar reinventar la rueda... 
O al menos los keywords para que busque yo mismo en google. 


Gracias por adelantado.
Jose

_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120405/c5a6a94f/attachment.html>


Más información sobre la lista de distribución Python-es