Извлечь расширение файла из пути URL в R
Я пытаюсь извлечь расширение файла (если существует) из URL-адресов, таких как
> 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 ответ
Решение
Избавьтесь от всех аргументов, перечисленных после ?
, а затем запустить 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"
)