我们希望从给定的网址中提取参数和值,例如
http://www.exemple.com/?a=1&b=2&c=3#def
使用xml2 :: url_parse,我们可以将url解析为其组件。但是,我们仍然希望使用gsub匹配正则表达式将查询分配到元素中:
([^?&=#]+)=([^&#]*)
期望的输出
a=1
b=2
c=3
答案 0 :(得分:3)
我们可以尝试
library(stringr)
matrix(str_extract_all(str1, "[a-z](?=\\=)|(?<=\\=)\\d+")[[1]], ncol=2, byrow=TRUE)
或者如果我们还需要=
str_extract_all(str1, "[a-z]=\\d+")[[1]]
#[1] "a=1" "b=2" "c=3"
str1 <- "http://www.exemple.com/?a=1&b=2&c=3#def"
答案 1 :(得分:2)
使用urltools
包来解析网址。
> u <- "http://www.exemple.com/?a=1&b=2&c=3#def"
> strsplit(urltools::parameters(u), "&")[[1L]]
[1] "a=1" "b=2" "c=3"