问题陈述:
有一个路径包含一个特定格式的日期,该日期是配置参数。说“ yyyy_MMM_d”,
我需要检测路径是否包含这样的日期:
如果是这样,请将其更改为新日期。
如果不是,请将新日期附加到路径中
路径中的现有日期可以是任何日期,并不总是昨天或明天。
尝试的解决方案:
通过正则表达式(在示例\d{4}_[a-zA-Z]{3}_\d{1,2}
中)检测类似于日期的部分,然后使用TryParseExact()
对其进行验证
这适用于恒定格式,但是当参数更改时,我需要写一种格式给regexp编译器以支持。这确实不值得付出努力。
那么,还有其他解决方案吗?我认为,如果没有比我更好的方法,我可能会在日期格式参数旁边要求使用正则表达式参数:-)
最佳答案
在斜杠定界符上分割字符串。在while循环中,进行检查以确定它是否为有效的datetime字符串。如果不是,请转到下一块。如果遍历每件作品,您将没有日期,因此请附加一个。
请注意,我不是.net开发人员,因此,这可能是一件可怕而令人讨厌的事情,永远都不会出现。