我首先要说的是,我不知道如何使用 gsub,而且我无法理解 chatgpt 下面给我的代码,该代码可以工作,但它提取了错误的 url 参数。
示例网址:“https://www.somewebsite.com/bmw/430i/2018/855648”
extract_info <- function(url) { car <- gsub(".*/([^/]+)/([^/]+)/.*", "\\1", sub("^https?://[^/]+/", "", url)) make <- gsub(".*/([^/]+)/([^/]+)/.*", "\\1", sub("^https?://[^/]+/", "", url)) model <- gsub(".*/([^/]+)/([^/]+)/([^/]+)/.*", "\\2", sub("^https?://[^/]+/", "", url)) return(list(car = car, model = model, year = year)) }
代码返回汽车,型号为 430i,年份为“bmw/430i/2018/8855648”。
我尝试使用qdapRegex,但也未能相应地调整它。请帮助我了解正则表达式正在捕获 url 的哪些部分以及如何相应地调整代码。
我期待获得汽车、型号和年份
如果 URL 始终采用相同类型的格式,您可以使用
strsplit
:
x <- "https://www.somewebsite.com/bmw/430i/2018/855648"
strsplit(x, "\\/")[[1]][4:6]
[1] "bmw" "430i" "2018"