Как я могу получить эти 2 даты в этой строке?Получить Datetimes из строки
ОТ 2011-08-01 00:00 К 2011-08-31 23:59 (местное время) 2011-07-15 20:43
Я хочу эту дату 2011-08 -01 00:00 и 2011-08-31 23:59
Как я могу получить эти 2 даты в этой строке?Получить Datetimes из строки
ОТ 2011-08-01 00:00 К 2011-08-31 23:59 (местное время) 2011-07-15 20:43
Я хочу эту дату 2011-08 -01 00:00 и 2011-08-31 23:59
Дата 1: @"(?<=FROM)\d{4}-\d{2}-\d{2} \d{2}:\d{2}"
Дата 2: @"(?<=TO)\d{4}-\d{2}-\d{2} \d{2}:\d{2}"
Это должно сделать это:
var dateRegex = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}";
var regex = new Regex(@"FROM (" + dateRegex + @") TO (" + dateRegex + @") \(Local Time\) .*$");
var text = @"FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43";
var match = regex.Match(text);
if (match.Success)
{
Console.WriteLine("1: " + match.Groups[1].Value.ToString());
Console.WriteLine("2: " + match.Groups[2].Value.ToString());
}
Это должно дать вам то, что вам нужно (я сделал предположение о том, что строка всегда будет в таком формате - так что нет никакой обработки ошибок):
string text = "FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43";
Regex r = new Regex(@"(?<=FROM)(.*?)(?=\()",
RegexOptions.Singleline | RegexOptions.IgnoreCase);
string[] dates = r.Split(text).GetValue(1).ToString().Trim().Split(' ');
string date1 = dates[0].ToString() + " " + dates[1].ToString();
string date2 = dates[3].ToString() + " " + dates[4].ToString();