| 
	| 
	
	| 
		
	| 
			
			 
			
				03.03.2021, 12:40
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 20.10.2016 
						Сообщений: 223
					 
		
 |  |  
	| 
				Распознать дату в строке
			 Здравствуйте!Есть строка: "Поезд №1375, прибывает 14 февраля 2021 в 08:20".
 Вопрос: Можно ли распознать дату в строке, и привести к такому виду: 14.02.2021 ?
 |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 12:50
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 01.03.2013 
						Сообщений: 77
					 
		
 |  |  
	| Если сообщение всегда по одному шаблону, то можно выдернуть регуляркой 14 февраля 2021 отсюда  
например, вот такой:  
"Поезд №1375, прибывает 14 февраля 2021 в 08:20".match(/(\d{1,2})\s+(\D+)\s+(\d{4})/)
Получим отдельно число, месяц, год. Месяц приводим к нужном числу. И вуаля! Склеиваем все вместе в нужную строку даты. |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 13:37
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 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>
 |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 14:15
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 20.10.2016 
						Сообщений: 223
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони   |  
	| 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>
 |  
	
 Второй подключенный скрипт, это что? |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 14:39
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| DDim1000,это русский язык для строки 4
 |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 18:15
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 20.10.2016 
						Сообщений: 223
					 
		
 |  |  
	| 
	
 
	| Сообщение от NeoN   |  
	| Если сообщение всегда по одному шаблону, то можно выдернуть регуляркой 14 февраля 2021 отсюда например, вот такой:
 
"Поезд №1375, прибывает 14 февраля 2021 в 08:20".match(/(\d{1,2})\s+(\D+)\s+(\d{4})/)
Получим отдельно число, месяц, год. Месяц приводим к нужном числу. И вуаля! Склеиваем все вместе в нужную строку даты.
 |  
	
 Подскажите, пожалуйста, как сделать такую же регулярку для номера поезда? |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 18:29
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 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>
 |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 19:43
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 20.10.2016 
						Сообщений: 223
					 
		
 |  |  
	| Так не получается..., мне нужно отдельно получить номер... |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 19:46
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| DDim1000, 
 в чём проблема заменить document.write? 
 
let number  = +str[0], data = str[1];
 |  |  
	| 
		
	| 
			
			 
			
				03.03.2021, 19:50
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| DDim1000, 
 или так ...
 
let str = 'Поезд №1375, прибывает 14 февраля 2021 в 08:20';
let number = +str.match(/(?<=№)\d+/);
alert(number);
 |  |  |  |