javascript: изменить все числа в строке

272
25 марта 2017, 01:29

Есть строка: Я уже 1.5 года занимаюсь программированием, написал 10.25 тысяч строк кода и за это время понял: всё-таки, я ещё долго буду просить помощи на форуме.

Нужно эту строку так переиначить, чтобы все числа (1.5 и 10.25) остались на прежних местах, но стали в 13 раз больше. То есть: Я уже 19.5 года занимаюсь...

Я бы рад сам попробовать, но даже не знаю, от чего отталкиваться. Полагаю, от методов RegExp и String, но на их изучение ещё 1.5 года уйдёт, а для опытного программиста - это пятиминутное дело. Помогите, пожалуйста.

Answer 1

В метод String.prototype.replace можно передать функцию:

let str = 'Я уже 1.5 года занимаюсь программированием, написал 10.25 тысяч строк кода и за это время понял: всё-таки, я ещё долго буду просить помощи на форуме.'; 
 
let res = str.replace(/\d+(?:\.\d+)?/g, num => 13*num) 
 
console.log(res);

/\d+(?:\.\d+)?/g - регулярное выражение, захватывающее число, за которым может следовать точка с числом. Флаг g говорит, что нужно обработать все вхождения.

READ ALSO
Печать страницы, Mozilla и MS Edge

Печать страницы, Mozilla и MS Edge

Сейчас мне нужно напечатать свою страницу (в pdf или на бумагу)Для этого я использую это: window

282
Кто поможет нарисовать вот такой треугольник на JavaScript?

Кто поможет нарисовать вот такой треугольник на JavaScript?

Как нарисовать такой треугольник на JavaScript?

284
Сортировка динамической таблицы

Сортировка динамической таблицы

Есть таблица, которая создается динамически от JSON, это значит, что нет постоянных столбцов и значения могут быть разными(числа, строки), помогите,...

265
Какие есть способы обмен данными? [требует правки]

Какие есть способы обмен данными? [требует правки]

Какие есть способы обмен данными помимо socket?

203