Функция извлекающая числа из строки
function numFromStr(str){ return [...str] .map(i => {if(isFinite(i) == true || i == "."){return i}else{return " "}}) .join("") .split(" ") .filter(i => i != "") .map(i => Number(i)) }
Как работает функция?
Принимает строку. Возвращает массив с числами.
Шаг 1 — приводим строку к массиву.
Шаг 2 — проходим по каждому элементу массива и проверяем условие возможности приведения символа к цифре. Если можно, то возвращаем, иначе возвращаем один пробел. (он будет разделителем в будущем). isFinite(number) определяет можно ли символ привести к цифре. Например строку «5» привести к числу 5.
Шаг 3 — склеиваем элементы массива в одну строку.
Шаг 4 — Разделяем строку по разделителю — по пробелу.
Шаг 5 — Фильтруем массив. Отбираем элементы со значениями не равными пустой строке.
Шаг 6 — Приводим строки к числам
Пример строки — Скопируй функцию и протестируй в консоли браузера!
var stroka = "100ыптлцг%;Р(Р№0.5лмк)№?ХЪС0.5ьмфщгугруа1БЮыпаКсывУКА20" numFromStr(stroka)

Информационные ссылки
Стандарт ECMAScript — Раздел «19.2.2 isFinite ( number )» — https://tc39.es/ecma262/#sec-isfinite-number