list.files()
"file_iteration1_2019-03-01-03-38-16.csv"
"file_iteration1_obs_2019-03-01-03-38-16.csv"
"file_iteration1_modp_2019-03-01-03-38-16.csv"
我想重命名这些没有年份和时间戳的文件,这样看起来
"file_iteration1.csv"
"file_iteration1_obs.csv"
"file_iteration1_modp.csv"
答案 0 :(得分:3)
由于要重命名文件夹中的文件,因此可以将file.rename()
和gsub()
(由{avid_useR和@akrun建议,sub()
或stringr::str_remove()
组合在一起)工作正常)。试试:
file.rename(list.files(), gsub('_[0-9-]+', '', list.files()))
答案 1 :(得分:2)
使用sub
:
x <- c("file_iteration1_2019-03-01-03-38-16.csv",
"file_iteration1_obs_2019-03-01-03-38-16.csv",
"file_iteration1_modp_2019-03-01-03-38-16.csv")
sub('_\\d{4}(-\\d{2}){5}', '', x)
# [1] "file_iteration1.csv" "file_iteration1_obs.csv" "file_iteration1_modp.csv"
答案 2 :(得分:2)
我们可以使用str_remove
library(stringr)
str_remove(files, "_[0-9-]+")
#[1] "file_iteration1.csv" "file_iteration1_obs.csv" "file_iteration1_modp.csv"