从完整文件路径中查找文件名

有没有一种方法可以从文件完整路径(文件路径的一部分)中提取文件名,而不用操作字符串?

Java 中的等价物是:

File f = new File ("C:/some_dir/a")
f.getName() //output a
f.getFullAbsolutePath() //output c:/some_dir/a
110233 次浏览

使用

basename("C:/some_dir/a.ext")
# [1] "a.ext"
dirname("C:/some_dir/a.ext")
# [1] "C:/some_dir"

整个宇宙等价物存在于 财政司司长包中。{ fs }在引擎盖下使用 利布夫

library("fs")


path_file("/some/path/to/file.xyz")
#> [1] "file.xyz"


path_dir("/some/path/to/file.xyz")
#> [1] "/some/path/to"

Reprex 软件包于2020-02-19年创作(0.3.0版)

@ 亲爱的。 从可以使用的文件名中删除扩展名的函数是{ tools } R 包中的函数

tools::file_path_sans_ext("ABCD.csv")
## [1] "ABCD"

这篇文章

在寻找 从 R 中的路径提取文件名的最快方法的过程中,我发现使用 sub和正则表达式 ".*/"的速度比使用 basename的数量级要快一个数量级(如果速度是个问题的话)。

files<-paste0("http://some/ppath/to/som/cool/file/",1:1000,".flac")


sub(".*/", "", files,perl = T)