从R中的URL路径中提取文件扩展名

时间:2015-11-16 22:38:04

标签: regex r url file-extension

我尝试从

这样的网址中提取文件扩展名(如果存在)
> http://www.example.com/index.php?option=com&etc
> http://www.example.com/subpage1/subpage2/file.pdf

使用basename(URL)功能,我收到了该文件。但是当我申请sub()时,我得到了这个

> sub(".*([.*])", "\\1", basename(URL))
> php?option=com&etc
> .pdf

如何仅检索扩展名(如果存在)?

我试过了file_ext(basename(URL))。它适用于第二个例子(当没有参数时)但它没有为第一个例子提供任何内容。

file_ext(basename(URL))
[1] ""

是否有可能在“。”之间检索字符串的正则表达式。和“?”。

1 个答案:

答案 0 :(得分:1)

删除?后列出的所有参数,然后运行file_ext

tools::file_ext(sub("\\?.+", "", URL))
#[1] "php" "pdf"

URL的位置:

URL <- c(
"http://www.example.com/index.php?option=com&etc",
"http://www.example.com/subpage1/subpage2/file.pdf"
)