我已将以下格式的文本文件中的lof上传到R中:
building_01.txt
building_01_window_01_roof_01.txt
building_01_window_01_roof_01.txt
building_02_window_02.txt
...
我想删除每个单词后面的数字,以便最终文件显示为:
building.txt
building_window_roof.txt
building_window_roof.txt
...
阅读以前的文章,我试图使用file.rename摆脱掉“ build”之后的数字
files_list <- list.files(pattern="building_[01-80].txt")
file.rename(files_list, paste0("building_",".txt"))
但是,出现以下错误:
Error in file.rename(list.files(pattern = "building_[01-80]"), paste0("building_", :
'from' and 'to' are of different lengths`
“ building”之后的数字不会超过80,因此我确定上面的选择包括目录中的所有文件。另外,我也不想丢失文件中的任何“窗口”或“屋顶”标签,只需删除标签后面的数字即可。有人有建议吗?
希望这很有道理。如您所见,我是R的新手,我们将不胜感激:)
stringr,函数是str_remove_all()
。
library(stringr)
listoffiles = c( "building.txt",
"building_window_roof.txt",
"building_window_roof.txt"
)
cleanedfiles = str_remove_all( listoffiles, "\\d+" )
> cleanedfiles
[1] "building.txt" "building_window_roof.txt" "building_window_roof.txt"