если не парится и делать в одну строку то так, но в иделе надо вынести в отдельную функцию и там дополнительно считать количество точек и их положение относительно цифр чтобы ошибка не вылетала при таких значения '.jhg87.9273.43likoj.'
x = lambda y: float(''.join([i for i in y if i.isdigit() or i == '.']))
print(x("ksrkfkkkedj 0.01 vkelrncksk"))
print(x('slkhjskljhksss342.921.khksjks'))
print(x('s,jhfskjyu932uio hi32n 89hnj3h287bn d98yn2.hiu3'))