我不太擅长正则表达式,很难理解如何实现它来解决我的问题。
基本上我有一个文件名,它的名称中包含今天的日期,我想用昨天的日期。
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))
最佳答案
你不需要正则表达式,只需使用 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
关于c# - 替换字符串正则表达式中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19002455/