0
我想解析通過一個文件並替換一些天/日期。gsub!與Date.strptime不承認我的日期
例如, 我想改變
In a post on the band's blog last night (06.05.12)
to
In a post on the band's blog sunday night
我想使用GSUB!這樣做。
r.gsub!(/\blast night \(([0-3][0-9]\.[0-1][0-9]\.[0-9][0-9])\)/ei,Date.strptime('\1',"%d.%m.%y").strftime("%A").to_s + ' night')
總是說無效的日期,但
r.gsub!(/\blast night \(([0-3][0-9]\.[0-1][0-9]\.[0-9][0-9])\)/ei,'\1')
顯示正確的日期爲12年6月5日 和
mydate = '06.05.12'
r.gsub!(/\blast night \(([0-3][0-9]\.[0-1][0-9]\.[0-9][0-9])\)/ei,Date.strptime(mydate,"%d.%m.%y").strftime("%A").to_s + ' night')
給我適當的響應。爲什麼在使用Date.strptime時不能用\ 1替換mydate?有關如何解決這個問題的任何建議?
謝謝你描述它爲什麼不會工作。這很有道理。我嘗試使用$ 1,但我一直在使用$ 1 _magic_匹配變量來替代NilClass_,例如... r.gsub!(/ \ blast night \(([0-3] [0-9] \。[ 0-1] [0-9] \。[0-9] [0-9])\)/ EI,Date.strptime($ 1, 「%d。%米。%Y」)。的strftime(「%甲「).to_s +'night') –
嗯,好的,'$ 1'變量只在'gsub'的塊變量中設置。我更新了我的答案。這應該現在肯定有效。有關詳細信息,請參見[文檔](http://www.ruby-doc.org/core-1.9.3/String.html#method-i-gsub)。 –
大聲笑,我剛剛嘗試了什麼新的建議是在看到你更新它之前。我回到這裏來告訴你什麼工作,並看到你有我想出的。非常感謝! –