4
我試圖將兩種格式的日期轉換爲一個單一的日期,我可以很容易地將日期轉換爲as.Date
。這裏有一個例子:處理日期正則表達式捕獲組輸出R
library(dplyr)
df <- data_frame(date = c("Mar 29 2017 9:30AM", "5/4/2016"))
我已經試過這樣:
df %>%
mutate(date = gsub("([A-z]{3}) (\\d{2}) (\\d{4}).*",
paste0(which(month.abb == "\\1"),"/\\2","/\\3"), date))
但它給了我這樣的:
date
1 /29/2017
2 5/4/2016
但我想這個!
date
1 3/29/2017
2 5/4/2016
它看起來像當我使用month.abb == "\\1"
,它不使用捕獲組輸出("Mar"
),它只是使用呼叫者文本("\\1"
)。如果可能的話,我想在正則表達式中這樣做。我知道你可以用另一種方式來做,但想要變得光滑。
任何想法?
'as.Date'可以採取兩種形式,即'as.Date(DF $ date,format = c('%b%d%Y%H:%M','%m /%d /%Y'))'(未測試) – Sotos
我想用正則表達式來做。謝謝您的好意。 – Zafar
作爲解釋:正則表達式查看paste0表達式的結果 - 它從不會看到進入粘貼表達式的值。 – epi99