答案 0 :(得分:2)
> library('httr')
> parse_url('https://bugzilla.mozilla.org/show_bug.cgi?id=797998')
$scheme
[1] "https"
$hostname
[1] "bugzilla.mozilla.org"
$port
NULL
$path
[1] "show_bug.cgi"
$query
$query$id
[1] "797998"
$params
NULL
$fragment
NULL
$username
NULL
$password
NULL
attr(,"class")
[1] "url"
答案 1 :(得分:1)
我建议使用上面的网址建议,但如果将其存储为字符串,则有以下几种选择:
str <- "https://bugzilla.mozilla.org/show_bug.cgi?id=797998"
# If you know it will follow the only '=' in the string
(num <- unlist(strsplit(str, "="))[2])
# If you know that the number is always the last 6 digits
(num <- substr(str, nchar(str)-5, nchar(str)))
# If you know the number always follows the last '=' sign
revstr <- rev(unlist(strsplit(str, NULL)))
index <- which(revstr == "=")
revnum <- revstr[1:(index-1)]
(num <- paste(rev(revnum), collapse = ""))
注意,如果您想要一个号码,则必须使用as.numeric()
将这些转换为数字。否则,它们当前是作为字符串给出的。