Извлечь из строки данные и разбить JS
помогите решить задачу с извлечением данных из обычной текстовой строки через js. Суть в том что данные в строке должны быть разбиты и переданы в сценарий ответа.
Пример текстового запроса: Летим из Казани в Москву с 01-11 до 03-11 2 пассажира (пока нужно извлечь только две даты с и до и цифру в конце).
Нужно получить на выходе:
Дата отправления: 0111
Дата возвращения: 0311
Пассажиров: 2
То есть просто нужно извлечь все цифры из строки и по очереди их разбить, в датах всегда будет 4 символа, а в кол-ве пассажиров всегда будет 1 символ.
Ответы (1 шт):
Автор решения: vp_arth
→ Ссылка
Покажу именованные группы захвата в RegExp
const s = 'Летим из Казани в Москву с 01-11 до 03-11 2 пассажира';
const r = /с\s+(?<since>\S+)\s+до\s+(?<until>\S+)\s+(?<pass>\S+)\s+пасс/u;
const match = s.match(r);
if (match) {
const data = match.groups;
console.log(`С: ${data.since.replace(/\D+/, '')}`);
console.log(`До: ${data.until.replace(/\D+/, '')}`);
console.log(`Пассажиров: ${data.pass}`);
}