R 替换文件名的第一个字符

R 替换文件名的第一个字符,r,R,我试图用一个普通字母替换11个文件的前3个字符 x <- list.files(pattern = ".txt", ) file.rename(substring(x, 1,3), paste0("R_",1:11)) [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE x这里有一种使用gsub和正则表达式的方法: x <- list.files(pattern = ".txt") x2 <

我试图用一个普通字母替换11个文件的前3个字符

x <- list.files(pattern = ".txt", )
file.rename(substring(x, 1,3), paste0("R_",1:11))
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

x这里有一种使用
gsub
和正则表达式的方法:

x <- list.files(pattern = ".txt")
x2 <- gsub('^.{3}', 'R_', x) # substitute first 3 characters with 'R_'
file.rename(x, x2)

x您是否有与前三个字母命名相同的文件?也就是说,如果您有一个名为
foobar.txt
的文件,那么这将尝试执行
file.rename(“foo”,“R_1”)
(假设
1:11
对应于11个
x
元素)。我认为你的第一个参数应该总是
x
,那么
file.rename(x,paste0(“R”,substr(x,1,3))
。rename调用起作用了,但输出是R+前3个字符,就像你可能想要
文件一样。rename(x,paste0(“R”,1:length(x),substring(x,4))
我不清楚你想要什么,ivo。请提供至少一个输入文件名和预期输出的示例。