如何将文件名的一部分提取到文本文件?

时间:2015-10-21 16:22:02

标签: r

我在目录data中有几个文件。

这些文件的名称如下:

  file_file_sd_daf_800_800_log-(3-got)_20100101_20121012

所有文件共享名称的所有部分,但与部分sd不同。

我想只将这部分文件名提取为一列并写出文本文件。

我列出了所有这样的文件:

   dir<- list.files("C:\\data", "*.txt", full.names = TRUE)

1 个答案:

答案 0 :(得分:1)

好的,这应该有效(使用正则表达式):

dir_ <- list.files("C:\\data", "*.txt", full.names = TRUE)

tmp <- regmatches(dir_, regexec("file_file_(.+)_daf.+", dir_))
sapply(tmp, "[", 2)

用你的例子做一点测试:

x <- "file_file_sd_daf_800_800_log-(3-got)_20100101_20121012"
regmatches(x, regexec("file_file_(.+)_daf.+", x))[[1]][2]

# [1] "sd"

然后,您可以使用write将您获得的不同位写入文件。