2011-11-07 48 views
5

Tengo algo como esto:¿Cómo puedo obtener un valor que está entre paréntesis en una cadena en Python?

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

sólo quiero el valor dentro de los corchetes. Usé Regex, y funcionó, pero mi profesor no lo permite. ¿Cómo puedo hacer esto?

+2

Cómo sólida debe ser la solución? –

+5

@ La pregunta de Matt Fenwick es crítica. ¿Cuál es el rango de entradas con las que se espera razonablemente que se ocupe su código? –

Respuesta

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') 
>>> 
Cuestiones relacionadas