在不知道扩展名的情况下获取文件扩展名,没有模式

时间:2014-03-24 11:36:57

标签: r file

如何获取文件的扩展名? R中是否有任何功能或工具包?

例如,如果我有一个文件为“file.txt”,如何获得扩展名?我想获得扩展而不必知道,我不能使用使用模式的函数。

非常感谢

3 个答案:

答案 0 :(得分:4)

使用file_ext

> file_ext("test.exe")
[1] "exe"

作为旁注,您不需要单独的文件I / O任务包,只需查看包基于处理文件的函数集。有些是:

  1. file
  2. file.access
  3. file.exists
  4. file.info
  5. 还有很多其他人。一个很酷的是basename,它从路径中提取文件名

答案 1 :(得分:2)

万一有人想要正则表达式,

foo<- 'file.ext'

gsub('^.*[.]','',foo)
# 'ext'

编辑:捕获各种文件名,

foo<-'file.something.zip.ext'
regmatches(foo,regexpr('[^.]*$',foo)  ) 

(可能是一种较短的方式,但作为练习留给读者:-))

答案 2 :(得分:1)

filenames <- c("file.txt", "file.csv")
sapply(strsplit(filenames, ".", fixed=TRUE), tail, n=1L)
#[1] "txt" "csv"