0

我想知道正则表达式将最有效地实现以下目标:

在日期和时间戳字符串中,如果时间戳只是零,我想删除它。但问题是时间戳可以有多种格式。例如:

2013-02-04 00:00:00
2013-02-04 00:00:00.0
2013-02-04 00:00 AM
2013-02-04 00:00 PM

谢谢

4

1 回答 1

2

对于每一行:

line.replaceAll("(00:?)+(.0)?\s*([AP]M)", "");

(              // start time group
00             // strange timestamp symbol
:?             // allow ':'
)+             // strange group can be repeated more than one time
(.0)?          // if ms was specified
\s*            // allow spaces before AM,PM
(              // AM, PM group
[AP]           // A or P letter
M              // M
)?             // AP, PM group can not exists
于 2013-02-04T18:47:01.917 回答