r - 如何删除R中文件名括号内的字符?
问题描述
我有一堆文件,需要删除文件名括号内的字符。我使用以下代码:
x <- list.files()
file.rename(str_detect(x,"\\s*\\([^\\)]+\\)"), "")
然后结果出现以下错误:invalid 'from' argument。
输入(文件名样本):
abc(2020)_test1.xlsx, abc(2020)_test2.xlsx, abc(2020)_test3.xlsx
预期输出:
abc_test1.xlsx, abc_test2.xlsx, abc_test3.xlsx
解决方案
假设所有这些文件都存在于您的工作目录中,您可以尝试:
new_x <- sub('\\(.*\\)', '', x)
file.rename(x, new_x)
例如,如果x
是这样的:
x <- c('abc(2020)_test1.xlsx', 'abc(2020)_test2.xlsx', 'abc(2020)_test3.xlsx')
new_x
将会 :
new_x <- sub('\\(.*\\)', '', x)
new_x
[1] "abc_test1.xlsx" "abc_test2.xlsx" "abc_test3.xlsx"
推荐阅读
- ruby-on-rails - 使用 Action Cable 从模型、rails 调用类方法获取未定义的局部变量或方法
- python - Python:从文件中分割句子
- javascript - 对 express 和 Mongoose 做出正确的错误处理和响应
- .htaccess - 重定向目标 URL 在域后缺少斜杠
- python - While 循环忽略条件(如果,否则),只打印第一个建议的打印选项
- php - 如何忽略来自 WordPress 插件样式表的特定 CSS 代码?
- python - 检查用户创建的列表项是否存在于预制列表中的问题
- javascript - 关于 JSON 对象
- python - 如何避免稀疏到密集的矩阵转换
- java - 程序输出问题