2012-03-13 157 views
3

不幸的是我吸食正則表達式。如果我有這樣的路徑:如何僅從路徑中提取文件/文件夾名稱?

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

如果有人提供file/我只需要file

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

我一直在使用stringr作爲一個柺杖的功能,但這似乎是直接向上grep領土。請幫助?

回答

7

如果我理解正確,可以使用basename函數。

f <- "/long/path/to/file" 
basename(f) 
# [1] "file" 
+0

更優雅的解決方案,它還處理尾部斜槓。非常感謝! – Maiasaura 2012-03-14 00:04:17

2

這是怎麼回事?

> path <- "/long/path/to/file" 
> require(stringr) 
> str_extract(path, "[^/]*$") 
[1] "file" 
+0

完美。謝謝! – Maiasaura 2012-03-13 23:52:42

+0

如果我需要失去最後的斜線怎麼辦? – Maiasaura 2012-03-13 23:52:56

相關問題