2011-11-07 16 views
5

Ho qualcosa di simile:Come posso ottenere un valore racchiuso tra parentesi in una stringa in Python?

a = '2(3.4)' 
b = '12(3.5)' 

Voglio solo il valore all'interno delle parentesi. Ho usato espressioni regolari e ha funzionato, ma il mio insegnante non lo permetterà. Come posso fare questo?

+2

Come robusta dovrebbe essere la soluzione? –

+5

@Matt La domanda di Fenwick è critica. Qual è la gamma di input che il tuo codice è ragionevolmente previsto da trattare? –

risposta

16
>>> a = '2(3.4)' 
>>> a[a.index("(") + 1:a.rindex(")")] 
'3.4' 
4
>>> a, b = '2(3.4)', '12(3.5)' 
>>> def extract(string, start='(', stop=')'): 
     return string[string.index(start)+1:string.index(stop)] 

>>> extract(a), extract(b) 
('3.4', '3.5') 
>>> 
Problemi correlati