Распознать дату в строке
Здравствуйте!
Есть строка: "Поезд №1375, прибывает 14 февраля 2021 в 08:20". Вопрос: Можно ли распознать дату в строке, и привести к такому виду: 14.02.2021 ? |
Если сообщение всегда по одному шаблону, то можно выдернуть регуляркой 14 февраля 2021 отсюда
например, вот такой: "Поезд №1375, прибывает 14 февраля 2021 в 08:20".match(/(\d{1,2})\s+(\D+)\s+(\d{4})/) Получим отдельно число, месяц, год. Месяц приводим к нужном числу. И вуаля! Склеиваем все вместе в нужную строку даты. |
DDim1000,
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/locale/ru.js"></script> <script> moment.locale('ru'); let str = 'Поезд №1375, прибывает 14 февраля 2021 в 08:20'; alert(moment.utc(str.split(',').reverse(), 'll').format('DD.MM.YYYY')) </script> |
Цитата:
|
DDim1000,
это русский язык для строки 4 |
Цитата:
|
DDim1000,
если строку можно разделить по запятой </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/locale/ru.js"></script> <script> moment.locale('ru'); let str = 'Поезд №1375, прибывает 14 февраля 2021 в 08:20'; str = str.split(','); str = str.map((a,i) => i ? moment.utc(a, 'll').format('DD.MM.YYYY') : a.replace(/\D/g, '')); document.write(JSON.stringify(str) ) </script> |
Так не получается..., мне нужно отдельно получить номер...
|
DDim1000,
в чём проблема заменить document.write? let number = +str[0], data = str[1]; |
DDim1000,
или так ... let str = 'Поезд №1375, прибывает 14 февраля 2021 в 08:20'; let number = +str.match(/(?<=№)\d+/); alert(number); |
Часовой пояс GMT +3, время: 00:16. |