const pattern = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})./; const text = '2017-10-10T00:00:00.000Z'; console.log(text.replace(pattern, '$1/$2/$3 $4:$5:$6'));
ISO形式の日付文字列を「2017/10/10 00:00:00」の形式に置換したいのですが、
上のコードですと、「2017/10/10 00:00:00000Z」が出力されてしまいます。
const pattern = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})./;
を
const pattern = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})..*/;
にすると、「2017/10/10 00:00:00」という期待している結果は得られます。
しかし、「.*」みたいなものをお尻につけて対処するのが適切なやり方なのか疑問に思っておりまして、どういうやり方が適切なのかを知りたいと思いました。
他にも上記掲載コードで改善点などありましたら教えて頂けると大変うれしいです。
よろしくお願いいたします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。