从工作目录中提取文件扩展名并检查条件

时间:2015-04-14 12:51:49

标签: r file-extension

可能重复: Extract file extension from file path

我处于一种状态,我需要检查工作目录中的文件扩展名并做出一些决定。我通过list.files()检查它,它给我带有扩展名的工作目录中的所有文件。 我得到一个像

这样的清单
"GSM18423_PA-D_132.cel"        "GSM18424_PA-D_206.cel"        "GSM18425_PA-D_216.cel" 

现在我想要一个条件,如果文件有扩展名.cel,请执行以下操作。

if(extension==".cel")
...... else
......

我查找了tools个包,但没有使用我的R版R version 3.1.3 RC (2015-03-06 r67947)。我尝试install.packages("tools")弹出一个窗口并要求在安装之前重启我的系统,但最后也没有做任何重启。最后我收到了一条消息

Installing package into ‘/home/hussain/R/i686-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
Warning in install.packages :
  package ‘tools’ is not available (for R version 3.1.3 RC)

2 个答案:

答案 0 :(得分:4)

这是tools::file_ext

的源代码
function (x) 
{
    pos <- regexpr("\\.([[:alnum:]]+)$", x)
    ifelse(pos > -1L, substring(x, pos + 1L), "")
}

使用此代码

创建您自己的函数

答案 1 :(得分:2)

参考评论@user20650,我认为做一些像

这样的事情很容易
lst <- list.files()
ext <- grepl("*.cel$", lst)[1]
if(ext)
{ .....
code
....
}else{
....
code
.....
}