次の日付文字列を検討してください
2012-10-01 01:02:03.004+0500
SimpleDateFormat
これは、Javaで次のパターンを使用して認識されます。
yyyy-MM-dd HH:mm:ss.SSSZ
ただし、上記のタイムゾーン情報が2桁に切り捨てられた場合、つまり
2012-10-01 01:02:03.004+05
日付文字列は有効な形式に準拠していないSimpleDateFormat
ため、正しく解析するために使用できるパターンはありません。
文字列の前処理なしで切り捨てられたタイムゾーンを正しく解析するための回避策はありますか?
そうでない場合、この同様の質問のように、たとえば呼び出しを使用して、 1ラウンドでそのような多数の日付文字列に対して実行される前処理に最適な正規表現はどれですか?replaceFirst()