2012-02-27 22 views
10

Ho stringa di testo come:stringa Rimuovere tra i 2 caratteri dalla stringa di testo

"abcd[e]yth[ac]ytwec" 

ho bisogno solo

"abcdythytwec" 

Qual è il modo più semplice per farlo utilizzando espressioni regolari o in altro modo in Python? Sto usando il metodo .split('[') che è ingombrante.

+0

questo è un caso più generale? È possibile che ci siano più di due [e]? –

+0

Definitivamente. Potrebbe anche non esserci nessuno. – jerrymouse

risposta

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

+1 Questo è meglio! 3 minuti prima di contrassegnarlo ha risposto ... – jerrymouse

2

Provare modulo usando Re:

import re

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

+0

Questo funziona. Comunque penso, [^] può semplicemente funzionare come. – jerrymouse

Problemi correlati