如何从R中的url中提取选择和过滤查询

Abh*_*ney 2 r

这是我想从中提取选择查询和过滤查询中的字符串的网址:

http://services.odata.org/V4/(S(cscsmmmc110sj01dvwgyolkm))/TripPinServiceRW/People ?$select=ID,CLASS,FIRST_NAME,LAST_NAME&$filter=FirstName eq 'Angel' 或 FirstName eq 'Clyde'

我想在 2 个字符串中提取选择和过滤查询值。我试过这些:

res <- str_match(a, "STR1 (.*?) STR2")
Run Code Online (Sandbox Code Playgroud)

我尝试使用字符串处理提取值,如这个相关问题(在 / 之间提取字符串)所示,但我无法提取值。有没有其他方法可以提供帮助?

seb*_*n-c 5

httr has a parse_url function:

library(httr)

myurl <- "http://services.odata.org/V4/(S(cscsmmmc110sj01dvwgyolkm))/TripPinServiceRW/People?$select=ID,CLASS,FIRST_NAME,LAST_NAME&$filter=FirstName eq 'Angel' or FirstName eq 'Clyde'"

parse_url(myurl)
Run Code Online (Sandbox Code Playgroud)

Output:

$scheme
[1] "http"

$hostname
[1] "services.odata.org"

$port
NULL

$path
[1] "V4/(S(cscsmmmc110sj01dvwgyolkm))/TripPinServiceRW/People"

$query
$query$`$select`
[1] "ID,CLASS,FIRST_NAME,LAST_NAME"

$query$`$filter`
[1] "FirstName eq 'Angel' or FirstName eq 'Clyde'"


$params
NULL

$fragment
NULL

$username
NULL

$password
NULL

attr(,"class")
[1] "url"
Run Code Online (Sandbox Code Playgroud)