我希望能用R来提取文件名的一部分。从以下链接中,我有一个大致的想法:extract part of a file name in R 但是我无法将其应用于我的文件名列表。
文件名示例:
文件名示例:
"Species Count (2011-12-15-07-09-39).xls"
"Species Count 0511.xls"
"Species Count 151112.xls"
"Species Count1011.xls"
"Species Count2012-01.xls"
"Species Count201207.xls"
"Species Count2013-01-15.xls"
一些文件名间在物种数量和日期之间有空格,一些没有空格,它们的长度也不同,有些还包含括号。我只想提取文件名中的数字部分,并同时保留连字符。例如上面的数据,我会得到以下输出:
期望输出:
2011-12-15-07-09-39 , 0511 , 151112 , 1011 , 2012-01 , 201207 , 2013-01-15
perl=TRUE
将使所有这些解决方案运行得更快(gsub
具有最大的速度提升,尽管比其他方法慢)- 这里没有进行基准测试。 - Arunstr_extract
使用了str_locate
,而str_locate
在内部使用了regexpr
。因此,考虑到函数开销来到达regexpr
,我不认为它会更快。从概念上讲,gsub
应该更慢,因为它多次(全局)搜索模式,而不是像regexpr
一样只搜索一次(注意它不是gregexpr
)。 - Arun