我正在尝试解析日期格式的文件名,例如
C:\Documents/<yyyy>\<MMM>\Example_CSV_<ddMM>.csv
并返回“今天”文件名。
因此,对于上面的示例,我将返回(2013 年 8 月 9 日)C:\Documents\2013\Aug\Example_CSV_0908.csv
我想知道 Regex 是否会起作用,但我只是对如何处理它有一个心理障碍!
我不能只用日期替换第 x 到第 y 部分,因为我将处理的文件存储在系统各处的不同文件夹中(不是我的想法)。所有日期代码都将包含在 <> 但是,据我所知,我不能做类似的事情
Return DateTime.Today.ToString(RawFileName);
另外,我想如果普通文件名的一部分可以解释为日期代码,那将会产生意想不到的后果!
如果有人能给我一个正确方向的指针,那就太好了。如果您需要更多上下文,这里是包含此方法的类:
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>();
}
}
非常感谢您的帮助!