En este programa estoy tratando de hacer, tengo una expresión (como "I = 23mm", o "H = 4V") y estoy tratando de extraer el 23 (o el 4) fuera de él, para que yo pueda convertirlo en un número entero.Extrayendo un número de una cadena de 1 palabra
El problema que sigo encontrándome es que, dado que la expresión de la que estoy tratando de quitar los números es de 1 palabra, no puedo usar split() ni nada.
Un ejemplo vi pero el trabajo era wouldnt -
I="I=2.7A"
[int(s) for s in I.split() if s.isdigit()]
Esto molestaría trabajar, ya que sólo toma los números se están delimitados por espacios. Si hubiera un número en la palabra int078vert, no lo extraería. Además, el mío no tiene espacios para delimitar.
Probé una que se parecía a esto,
re.findall("\d+.\d+", "Amps= 1.4 I")
pero no funcionó bien, ya que el número que se está pasando no es siempre 2 dígitos. Podría ser algo así como 5, o algo así como 13.6.
¿Qué código necesito para escribir de manera que si pasa una cadena, tales como
I="I=2.4A"
o
I="A=3V"
De modo que pueda extraer sólo el número de esta cadena? (y hacer operaciones en él)? No hay espacios u otros caracteres constantes con los que pueda delimitar.
Parece que usted está tratando de resolver esto para números enteros y decimales. ¿Cada cadena siempre tendrá exactamente un número? – yoozer8
Sí. Cada cadena siempre tendrá 1 número, pero puede tener múltiples decimales para hacer ese número. – Kyle