Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
355 views
in Technique[技术] by (71.8m points)

r - Extract date text from string

I would like to extract date from the following list of text:

[[1]]
[1] "TAX INVOICE      28 Dec 2018       PO2222"

[[2]]
[1] "TAX INVOICE      20 Nov 2018       PO11111"

The result would be a list or a data frame:

 28-Dec-2018
 20-Nov-2018

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Here is a base R option using lapply and gsub:

lst <- list("TAX INVOICE      28 Dec 2018       PO2222",
            "TAX INVOICE      20 Nov 2018       PO11111")

lapply(lst, function(x) gsub(".*(\d{2} \w{3} \d{4}).*", "\1", x))
[[1]]
[1] "28 Dec 2018"

[[2]]
[1] "20 Nov 2018"

Demo


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...