在我尝试制作的这个程序中,我有一个表达式(例如“I = 23mm”或“H = 4V”),我试图从中提取23(或4),这样我就可以把它变成一个整数。
我一直遇到的问题是,由于我试图从中取出数字的表达式是 1 个单词,所以我不能使用 split() 或任何东西。
我看到但不起作用的一个例子是 -
I="I=2.7A"
[int(s) for s in I.split() if s.isdigit()]
这不起作用,因为它只需要数字由空格分隔。如果单词 int078vert 中有一个数字,它不会提取它。另外,我的没有空间来分隔。
我试过一个看起来像这样的,
re.findall("\d+.\d+", "Amps= 1.4 I")
但它也不起作用,因为传递的数字并不总是 2 位数。它可能是 5 或 13.6 之类的东西。
我需要编写什么代码,以便如果我传递一个字符串,例如
I="I=2.4A"
或者
I="A=3V"
这样我只能从这个字符串中提取数字吗?(并对其进行操作)?没有空格或其他可以分隔的常量字符。