2015-12-12 16 views
5

chcę zastąpić (number) z zaledwie number w wyrażeniu tak:Usuń nawiasy wokół liczb w ciąg

4 + (3) - (7) 

Powinno być:

4 + 3 - 7 

Jeśli wyrażenie jest:

2+(2)-(5-2/5) 

Powinno być takie:

2+2-(5-2/5) 

Próbowałem

a = a.replace(r'\(\d\+)', '') 

gdzie a jest ciągiem znaków, ale to nie działa. Dzięki!

Odpowiedz

7

Python ma potężny moduł do wyrażeń regularnych, re, wyposażony w metody substytucyjnej:

>>> import re 
>>> a = '2+(2)-(5-2/5)' 
>>> re.sub('\((\d+)\)', r'\1', a) 
'2+2-(5-2/5)' 
+0

To działa. Dzięki! –

+0

nie ma problemu, szczęśliwe kodowanie – timgeb

+0

@DusanMilosevic: Jeśli odpowiedź jest pomocna, zapamiętaj ją. –

Powiązane problemy