Поскольку мы не знаем формат даты / времени части данных строки, мы не можем использовать d/M/yyyy
или M/d/yyyy
для анализа текста как даты.
Поскольку даты могут будь 31/12/1986
или 3/24/1986
, опять же, не зная формата, тогда мы не можем полагаться на год, находящийся в фиксированной позиции.
На данный момент очевидным выбором является Regex
. Попробуйте это:
var raw = "6/1/1986 24:00,ak,us,light,180,51.88,-176.6580556";
var regex = new Regex(@"\d{1,2}/\d{1,2}/(\d{4})");
var match = regex.Match(raw);
int year = int.Parse(match.Groups[1].Value);
Это дает 1986
как в int
.