Я хочу извлечь дату из строки.Извлечение даты из файла с расширением
Строка: _21_BT_Txn_Details_1-Aug-2015_1031389ACF6.zip
Как это сделать?
Я хочу извлечь дату из строки.Извлечение даты из файла с расширением
Строка: _21_BT_Txn_Details_1-Aug-2015_1031389ACF6.zip
Как это сделать?
Попробуйте это:
\d{1,2}-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4}
Demo и объяснение регулярных выражений символов: https://regex101.com/r/lW9yI3/2
Предположения:
Вы можете использовать следующий код, который может извлечь более 1 даты внутри строки, как тот, который вы при условии:
var txt = "_21_BT_Txn_Details_1-Aug-2015_1031389ACF6.zip";
DateTime dt;
var res = txt.Split('_').Where(p => DateTime.TryParse(p, out dt)).ToList();
Или, если у вас всегда есть дата в выше формате (day-MON-year
), используйте
DateTime.TryParseExact(p, "d-MMM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)
Там нет необходимости в регулярном выражении здесь.
Посмотрите на дату в строке и раздеть остальное. – PaulF
Попробуйте следующее: '\ d + - \ w + - \ d +' .. _https: //regex101.com/r/lW9yI3/1_ –
Нет, разделите на '_' и используйте' DateTime.Parse() 'для элементов в проверьте правильность даты. –