2012-02-27 7 views
10

tengo cadena de texto como:Retire el hilo entre 2 caracteres de cadena de texto

"abcd[e]yth[ac]ytwec" 

Necesito simplemente

"abcdythytwec" 

¿Cuál es la forma más fácil de hacerlo utilizando expresiones regulares o de otra manera en Python? Estoy usando el método .split('[') que es engorroso.

+0

Es este un caso más general? ¿Es posible que haya más de dos [e]? –

+0

Definitivamente. Incluso puede haber ninguno. – jerrymouse

Respuesta

15
In [11]: re.sub(r'\[.*?\]', '', 'abcd[e]yth[ac]ytwec') 
Out[11]: 'abcdythytwec' 
+0

+1 ¡Eso es mejor! 3 minutos antes de que marque su respuesta ... – jerrymouse

2

Try módulo utilizando re:

import re

re.sub(r'\[[^]]*\]', '', "abcd[e]yth[ac]ytwec")

+0

Eso está funcionando. Sin embargo, creo que [^] simplemente puede funcionar como. – jerrymouse

Cuestiones relacionadas