fetch_url = "https://www.website.com?splitArr=[43]&splitArrPitch=&position=P&statType=player&startDate=2023-03-28&endDate=2023-04-11&players=&filter=&groupBy=season"
start_date <- stringr::str_extract(fetch_url, "(?<=startDate=)[^&]+")
end_date <- stringr::str_extract(fetch_url, "(?<=endDate=)[^&]+")
stat_type <- stringr::str_extract(fetch_url, "(?<=statType=)[^&]+")
split_arr <- stringr::str_extract(fetch_url, "(?<=splitArr\\[)[^]]+")
我们成功地从这个字符串中提取出start_date
、end_date
和stat_type
,但是我们很难得到split_arr
的'43'
。我们如何更新代码?
或者,对于fetch_url(例如https://www.website.com?splitArr=&splitArrPitch=&position=P&statType=player&startDate=2023-03-28&endDate=&players=&filter=&groupBy=season
)作为第二个示例,对于split_arr
以及end_date
,这应该返回空字符串''
。
我们已经得到了前3个变量,但是splitArr周围的[]
括号使这个变量更难获取。
3条答案
按热度按时间thtygnil1#
在
[
之前有一个=
-代替regex查找,我们还可以捕获((...)
)并在group
中指定捕获组6qftjkof2#
我们可以把@jay.sf和@akrun的答案结合起来。
这适用于较旧的
stringr
包。如果你需要为一个特定的参数提取一个值,你可以在后面的括号中包含它的名字。
vxf3dgd43#
向后看-向前看。