我对正则表达式不是很了解并且很难理解如何实现它来解决我的问题。
基本上我有一个文件名,它的名字将以今天的日期为特色,我想用它替换它昨天的约会。
var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";
我需要更换2013-09-24部分 这样新文件名就是
XX_YYYYYYYYYY_ZZZZZZ_2013-09-24_QQQQQ_IIII.xml
这是我编制日期的方式:
String dateToday = String.Format("{0: yyyy-MM-dd}", DateTime.Today)
string dateLast = String.Format("{0: yyyy-MM-dd}", DateTime.Today.AddDays(-1))
答案 0 :(得分:5)
您不需要正则表达式,只需使用String.Replace例如
var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";
var newName = fName.Replace(String.Format("{0:yyyy-MM-dd}", DateTime.Today), String.Format("{0:yyyy-MM-dd}", DateTime.Today.AddDays(-i)));
您的格式设置条件中有空白,为了实现此功能,您需要将其删除,即将{0: yyyy-MM-dd}
替换为{0:yyyy-MM-dd}
。
请参阅此example
答案 1 :(得分:1)
考虑以下内容......
var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";
var newFName= Regex.Replace(fName, DateTime.Today.ToString("yyyy-MM-dd"), DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd"));