c# - 替换字符串正则表达式中的日期

标签 c# regex string datetime datetime-format

我不太擅长正则表达式,很难理解如何实现它来解决我的问题。
基本上我有一个文件名,它的名称中包含今天的日期,我想用昨天的日期。

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/

相关文章:

c# - 如何制作一个包含空隙的列表<>?

c# - 从 C# 启动 ClickOnce 应用程序

c# - 使用 C# 从通讯组列表中获取电子邮件地址

arrays - Swift 正则表达式和分隔符

JavaScript Str.Replace 为 Promise

java - 如何连接带有RS323C接口(interface)的PC?

javascript - 删除 url 参数的正则表达式

c# - 使用 C# 格式化字符串中的句子

java - 如何使用 ""初始化字符串?

JavaScript RegEx (0-100) 但不是前导 0