【发布时间】:2017-03-07 19:06:57
【问题描述】:
我有一个包含不同数据的文本文件。现在我需要替换文件中的多个内容,然后才能正确使用数据。我用正则表达式替换了文本。但现在我需要更改日期。但我不知道该怎么做。
日期如下所示:"utc": "2017-10-02 19:55:00.205263000 Z"
我想得到这个日期格式的所有出现的结果:
"utc": "2017-10-02 19:55:00"
我尝试使用以下代码:
string pattern = @"{0:yyyy-mm-dd hh:mm:ss.fff Z}";
string replacement = "{0:yyyy-mm-dd hh:mm:ss";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(theInputTextFile, replacement);
日期格式不能与正则表达式一起使用吗?还是我的代码有误?
【问题讨论】:
-
您怀疑 RegEx 引擎不知道 d/m/y 等是日期/时间指标 - 它们仅用于格式化。天真地
\d{4}-\d{2}匹配4digits-2digits... 对于完全严格匹配,TryParseExact()然后重新格式化。