2014-03-24 44 views
1

如何获取文件的扩展名? R中是否有任何功能或工具包?获得文件的扩展名而不知道扩展名,无模式

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

非常感谢你

+3

为什么你不能使用正则表达式? (假设这就是你所说的“模式”)?这是一个功课问题吗? –

回答

4

使用file_ext

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

作为一个侧面说明,你并不需要为文件的单独封装I/O任务,只是在包看看基于处理文件的函数集。有些是:

  1. file
  2. file.access
  3. file.exists
  4. file.info

和许多其他许多人。清凉的一个是basename从路径

+0

非常感谢你,不知道有这个功能,你救了我的命! – Alex

+0

@Alex很高兴它有帮助。你现在可以接受答案;-) – Michele

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

万一有人想正则表达式,

foo<- 'file.ext' 

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

编辑提取的文件名:捉各种文件名,

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

(可能一个较短的方式做到这一点,但作为一个练习留给读者:-))