我在目录data
中有几个文件。
这些文件的名称如下:
file_file_sd_daf_800_800_log-(3-got)_20100101_20121012
所有文件共享名称的所有部分,但与部分sd
不同。
我想只将这部分文件名提取为一列并写出文本文件。
我列出了所有这样的文件:
dir<- list.files("C:\\data", "*.txt", full.names = TRUE)
答案 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
将您获得的不同位写入文件。