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 に答える