I have here a super uncleaned data (i must admit it -_-)
Field: Amount which is char
Values are '20 35' & '25..56'
cast(replace("Amount",' ','.') as DECIMAL)
You can use a regular expression to replace non-digits with a decimal point:
select cast(regexp_replace('25sd ss343', '[^\d]+', '.', 'g') as decimal)