这应该很简单,但我无法弄清楚。我有一个表示文件路径名的字符串,即
“C:/嗒嗒/这个/不管/文件名”
我需要提取文件名(以编程方式)。我试图使用strsplit(或str_split),并且很容易将字符串拆分为'/'但是..我无法理解如何实际提取返回向量中的一个值,或者确定有多少元素是偶数在向量中(因为这可能非常适合我的应用程序)。使用长度(奇怪的是,在我看来)并没有帮助。帮助
答案 0 :(得分:7)
取自:Find file name from full file path
basename("C:/some_dir/a")
> [1] "a"
dirname("C:/some_dir/a")
>[1] "C:/some_dir"
虽然我认为上述方法要好得多,但您也可以使用str_split
方法 - 我实际上只提及如何使用lapply
来显示如何从列表中选择最后一个元素。
example <- c("C:/some_dir/a","C:/some_dir/sdfs/a","C:/some_dir/asdf/asdf/a")
example.split <- strsplit(example,"/")
files <- unlist(lapply(example.split, tail , 1 ))
答案 1 :(得分:4)
不需要str_split:
sub( "^.+/(.+)$", "\\1", "C:/blah/this/whatever/filename" )