Найти в массиве числа и обернуть их в тег

Приходит массив из объектов ['Персональные скидки', 'Обслуживания от 0 до 10 000 ₽']. Необходимо обернуть цифры в тег <span>. Кто подскажет как сделать?


Ответы (1 шт):

Автор решения: Максим Н Епихин

Для того, чтобы обернуть можно использовать такой код:

let str = '213,564,232,654.12355';

console.log(str.replace(/([0-9]+)/g, '<span>$1</span>'));

В вашем контексте надо использовать map:

let arr = ['Персональные скидки', 'Обслуживания от 0 до 10 000 ₽'];
arr.map((element) => element.replace(/([0-9]+)/g, '<span>$1</span>'));

Обновление

Есть такой вариант еще, но он берет последний пробел: ([0-9]+ )+.

Для теста: https://regex101.com/r/s6prZO/1

regex скрин

Если надо и валюту учитывать, то вот так можно: (([0-9]+ )+)[₽]{0,1}

→ Ссылка