如何删除R中文件名括号内的字符?

如何删除R中文件名括号内的字符?,r,R,我有一堆文件,需要删除文件名括号内的字符。我使用以下代码: x <- list.files() file.rename(str_detect(x,"\\s*\\([^\\)]+\\)"), "") 预期产出: abc_test1.xlsx, abc_test2.xlsx, abc_test3.xlsx 假设所有这些文件都存在于您的工作目录中,您可以尝试: new_x <- sub('\\(.*\\)', '', x) file.rena

我有一堆文件,需要删除文件名括号内的字符。我使用以下代码:

x <- list.files()

file.rename(str_detect(x,"\\s*\\([^\\)]+\\)"), "")

预期产出:

abc_test1.xlsx, abc_test2.xlsx, abc_test3.xlsx

假设所有这些文件都存在于您的工作目录中,您可以尝试:

new_x <- sub('\\(.*\\)', '', x)
file.rename(x, new_x)
new_x
将是:

new_x <- sub('\\(.*\\)', '', x)
new_x
[1] "abc_test1.xlsx" "abc_test2.xlsx" "abc_test3.xlsx"

new\u x您想重命名计算机上的所有文件,还是只想更改
x
?我需要重命名计算机中的所有文件运行文件时它会变为FALSE。重命名(x,new\u x)。x
返回什么?它是否具有您要重命名的所有文件名?x返回的结果与预期的一样好(如环境中所示),但当我运行file.rename时,计算机上没有任何更改,它返回的结果为false。请尝试改用完整路径名<代码>x我试过了
x <- c('abc(2020)_test1.xlsx', 'abc(2020)_test2.xlsx', 'abc(2020)_test3.xlsx')
new_x <- sub('\\(.*\\)', '', x)
new_x
[1] "abc_test1.xlsx" "abc_test2.xlsx" "abc_test3.xlsx"