В этой программе, которую я пытаюсь сделать, у меня есть выражение (такое как "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")
но он тоже не сработал, потому что передаваемое число не всегда состоит из двух цифр. Это может быть что-то вроде 5 или что-то вроде 13,6.
Какой код мне нужно написать, чтобы при передаче строки, такой как
I="I=2.4A"
или
I="A=3V"
, я мог извлечь из этой строки только число? (и делать над ним операции)? Нет пробелов или других постоянных символов, которые я могу разграничить.