se puede usarsplit con mas de un separador
Pepe Aracil
pepe en diselpro.com
Vie Dic 15 10:24:33 CET 2006
Oswaldo Hernández escribió:
> joana salgado gomez escribió:
>>
>> hola chicos:
>>
>> tengo la siguiente cadena
>>
>> instrucciones='tres litros de leche forma de preparacion: echar una
>> taza de agua y luego remover. . .'
>>
>> lo que quiero es separar la cadena en dos y para este caso en concreto
>> es facil ya que se puede hacer
>> instrucciones.split('forma de preparacion')
>>
>> pero el problema es que en vez de forma de preparacion puede aparecer,
>> metodo o prparacion o como se elabora. se prodira hacer un split con
>> cuatro separadores lo he probado con or-s y no se puede
>>
>> alguien sabe como hacerlo??
>
> En un caso parecido lo que hago yo es unificarlos. Mas o menos asi:
>
> separadores = ('forma', 'metodo', 'elaboracion')
> for s in separadores:
> instrucciones.replace(s, '@@')
> separadores.split('@@')
>
> Desconozco si hay otra forma mas directa.
>
>
La instrucción "separadores.split('@@')" debería ser "instrucciones.split('@@')"
Con listas comprensivas seria algo como esto.
body="A::B"
separators=["@@","::"]
[body.split(s) for s in separators if s in body]
Esto nos devuelve una lista de listas, útil si existe la posibilidad de encontrar
más de un separador en el texto.
Salud.
Más información sobre la lista de distribución Python-es