R字符子串

时间:2014-08-25 20:28:11

标签: r timestamp substring

我有一个文件夹,其名称类似于" CH7Data_20130401T130110.csv"," CH7Data_20130401T130610.csv"等

我使用以下命令获得了该文件夹中所有文件的列表

filenames=list.files(path = "//folder location", pattern = NULL, all.files = FALSE,full.names = FALSE, recursive = FALSE,ignore.case = FALSE, include.dirs = FALSE, no.. = FALSE)

现在我想获得一个字符数组,其中包含来自所有文件名的时间戳。从每个文件名我想在_和之间提取文本。 最有效的方法是什么?我开始使用substring和unlist命令,但它们似乎效率低下,因为我必须使用它们中的多个。

最后我如何将这些时间戳矢量转换为实际时间的矢量?

1 个答案:

答案 0 :(得分:1)

filenames <- c("CH7Data_20130401T130110.csv", "CH7Data_20130401T130610.csv")
timestamps <- gsub(".*_([^.]+).*", "\\1", filenames)
## [1] "20130401T130110" "20130401T130610"
as.POSIXlt(timestamps, format = "%Y%m%dT%H%M%S")
## [1] "2013-04-01 13:01:10 PDT" "2013-04-01 13:06:10 PDT"