Я пытаюсь проанализировать имя файла в формате даты, например.Заменить разделы кода даты строки
C:\Documents/<yyyy>\<MMM>\Example_CSV_<ddMM>.csv
и вернуть фамилию «Сегодня».
Так в приведенном выше примере, я хотел бы вернуться (на 9 августа 2013 года), C: \ Documents \ 2013 \ Aug \ Example_CSV_0908.csv
Интересно, если Regex будет работать, но я просто с ментальный блок относительно того, как подойти к нему!
Я не могу просто заменить xth на yth секциями на дату, так как файлы, которые я буду обрабатывать, хранятся в разных папках по всей системе (не моя идея). Все даты коды будут содержаться в <> однако, так, насколько я знаю, я не мог сделать что-то вроде
Return DateTime.Today.ToString(RawFileName);
Кроме того, я предполагаю, что это будет иметь непредсказуемые последствия, если часть обычного filename можно интерпретировать как код даты!
Если кто-то может дать мне указатель в правильном направлении, это было бы здорово. Если вам нужно немного больше контекста, вот это класс, который будет содержать этот метод:
public class ImportSetting
{
public string ID { get; private set; }
public List<ImportMapping> Mappings { get; set; }
public string RawFileName { get; set; }
public string GetFileName()
{
string ToFormat = RawFileName; //e.g. C:\Documents/<yyyy>\<MMM>\Example_CSV_<ddMM>.csv
//Do some clever stuff.
return ToFormat; //C:\Documents\2013\Aug\Example_CSV_0908.csv
}
public int GetCSVColumn(string AttributeName) { return Mappings.First(x => x.Attribute == AttributeName).ColumnID; }
public ImportSetting(string Name)
{
ID = Name;
Mappings = new List<ImportMapping>();
}
}
Thankyou очень много для вашей помощи!
Ты гений. Надеюсь, что я смогу ограничить ошибки, предотвратив их, когда пользователь вводит имя файла и его сохранение в файл XML, а не когда я его читаю. Из интереса, каков будет пример строки даты, которая вызовет исключение? –
Один лайнер вообще не вызывает исключения. Он ссылается на пользователей, вводящих что-то вроде dMdM, что не является правильной последовательностью. –
Да, я просто сказал, что из рефлекса. Но это не приведет к исключениям. Я редактирую ответ, когда мы говорим. – Pluc