У меня есть данные, в которых есть строки, такие как «ms2p5», «ms3», «ms10», для которых мне нужно извлечь цифры и преобразовать их в числа следующим образом.
'ms2p5' => 2.5
'ms3' => 3
'ms10' => 10
Я попробовал приведенное ниже регулярное выражение и это может получить совпадение. Одна проблема связана со значениями, имеющими символ в середине извлеченной строки, например «2p5». Как правильно использовать обобщенную функцию c, которая хорошо обрабатывает все эти случаи, преобразуя их в числовые значения c?
import re
re.search(r'\d+[p]*\d*', str).group()