关于正则表达式:列出所有与R中的全路径模式匹配的文件 |
您所在的位置:网站首页 › 怎样给大树打孔施肥 › 关于正则表达式:列出所有与R中的全路径模式匹配的文件 |
我正在尝试获取与全路径模式匹配的文件列表。到目前为止,我已经使用了list.files(),但是没有用。 假设我们具有以下目录组织: 12345678results |- A | |- data-1.csv | |- data-2.csv | |- B |- data-1.csv |- data-2.csv然后执行以下命令: 1list.files(pattern='data-.*\\\\.csv', recursive=TRUE)将返回所有与模式匹配的文件。可以,但是使用全路径模式时会出现问题。例如,如果我想从目录结果/ A中获取所有CSV文件,则可以执行以下操作: 1list.files(pattern='results/A/data-.*\\\\.csv', recursive=TRUE)但是,这不起作用。某种程度上,R似乎无法使用全路径模式作为正则表达式。在这种情况下,解决方案可能是仅使用结果/ A作为基本路径。但是在更复杂的问题中,这是无法完成的。例如,在某些时候,我们可能希望匹配仅包含字符的子目录: 1list.files(pattern='results/[A-Z]+/data-.*\\\\.csv', recursive=TRUE)是否可以在R中执行此操作? 更新:使用临时解决方案一段时间后,我决定不再一次又一次键入相同的内容。因此,我创建了一个库来简化此任务。 首先,请注意您没有使用正则表达式模式。 您的第一个示例应该是: 1list.files(pattern='data-.*\\\\.csv', recursive=TRUE)然后,似乎list.files内部的模式匹配已应用于文件基名(即,不包括目录路径),因此您可以将任务拆分为: 查找仅与基本名称匹配的所有文件,并返回其完整路径: 12345basename.matches |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |