Answer the question
In order to leave comments, you need to log in
How to replace numbers in a template string?
Good day.
Tell me how to get the result "3 rooms for 5 guests" (replace the numbers in the line)?
Replace "4" with advert.rooms (3 for example) and "7" with advert.guests (for example 5)
The part of the template in which you want to replace the numbers:
<p class="popup__text popup_capacity">4 комнаты для 7 гостей</p>
<p class="popup__text popup_price">5200 <span>₽/ночь</span></p>
const price = advertElement.querySelector('.popup_price');
price.textContent = price.textContent.replace('5200', advert.price).
Answer the question
In order to leave comments, you need to log in
https://developer.mozilla.org/en/docs/Web/JavaScript...
const advert = {
rooms: 3,
guests: 5,
}
let str = "4 комнаты для 7 гостей"
str = str.replace(/^(\d+)(.*?)(\d+)(.*)$/, `${advert.rooms}$2${advert.guests}$4`)
// ^ - Начало строки, $ - конец строки
// \d - цифра в регулярный выражениях.
// точка - любой символ, + - одно и более повторений, * - ноль и более повторений
// круглые скобки - выделение в группу
// левая часть в replace - регулярное выражение, которое разбирает строку на части, правая часть - на что заменить части
// $2 и $4 - части исходной строки, попавшие в группу с соответствующим индексом. $1 - первое число, $2 - всё что между первым и вторым числом, $3 - второе число, $4 - всё что после второго числа
// str = "3 комнаты для 5 гостей"
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question