8

不幸的是,我很讨厌正则表达式。如果我有这样的路径:

/long/path/to/file, 我只需要提取file.

如果有人供应file/我只是需要file

如果有人供应/file/,我仍然需要file

我一直在使用stringr函数作为拐杖,但这似乎是直截了当的grep领域。请帮忙?

4

3 回答 3

16

如果我理解正确,您可以使用该basename功能。

f <- "/long/path/to/file"
basename(f)
# [1] "file"
于 2012-03-13T23:56:21.767 回答
2

那这个呢?

> path <- "/long/path/to/file"
> require(stringr)
> str_extract(path, "[^/]*$")
[1] "file"
于 2012-03-13T23:50:23.960 回答
0

很抱歉回答了一个非常古老的问题,但我被引导到这里寻找一种仅提取完整文件名的目录部分的方法。

所以这里是你如何提取目录:

> f <- "/long/path/to/file"
> dirname(f)
[1] "/long/path/to"
于 2021-01-29T08:35:56.430 回答