2015-10-21 2 views
0

У меня есть несколько файлов в каталоге data.Как извлечь часть имени файла в текстовый файл?

эти файлы называются так:

file_file_sd_daf_800_800_log-(3-got)_20100101_20121012 

Все файлы разделяют все части имени, но отличаются части sd.

Я хочу извлечь только эту часть имени файла в виде одного столбца и выписать в текстовый файл.

Я список всех файлов, как это:

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

ответ

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.