私はRegExで年間の条件を取得しようとしています。基本的に、2桁の年を実装する場合は、4桁の年にしたいと考えています。そこで、彼らは置く場合:これを正規表現でどう捕まえることができますか?
1/2/08
が、私はそれを作りたい:
1/2/2008
任意のアイデア?
私はRegExで年間の条件を取得しようとしています。基本的に、2桁の年を実装する場合は、4桁の年にしたいと考えています。そこで、彼らは置く場合:これを正規表現でどう捕まえることができますか?
1/2/08
が、私はそれを作りたい:
1/2/2008
任意のアイデア?
ワン[かなり厄介]方法:
"1/2/08".sub! /\/(\d{2})$/, '/20\1'
は、しかし、ちょうど日付オブジェクトに文字列を解析する方が良いと思いませんか?その後、それを日付として適切に扱うことができます! :)
は、あなたが戻って一緒に文字列を入れて
(.*/)(..)$
を使用して文字列を分割し、その後
$120$2
のようなもので置き換えることができ(http://www.regexplanet.com/simple/でテスト済み)。
あなたは20世紀の日付のために何が起こるか考えなければならないかもしれません - このアプローチは21/01/98として21/01/2098と認識します。盲目的に正規表現ではなく、正しく文字列を解析する方が良い!
私はあなたができると思った。しかし、Date.parse( "1/2/09")では、Date.parse( "1/2/2009")とはまったく異なります – Trip
これは機能します! Date.parse( "12/1/08"、comp = true).year – Trip
これに注意してください。 "1/2/2008"を取得した場合、置換はnilを返します。 –