我想在R中使用Regex分隔URL的子域
例如:
week.sddhdjs.net
sate.ghdutdjd.org
west.lakmeouh.com
dhdj.ckisnsns.us?mdeddde
werst.urhsbss.xyz?swasrr
必需的输出应该像
sddhdjs.net
lakmeouh.com
urhsbss.xyz
kisnsns.us
你能告诉我你的想法吗?
答案 0 :(得分:2)
我会推荐urltools
包。
library(urltools)
x <- "http://www.someone.somethingelse.com.cy/images/phfdoc/fhdemiado.tam.fidfhfdde/"
suffix_extract(domain(x))
# host subdomain domain suffix
#1 www.someone.somethingelse.com.cy www.someone somethingelse com.cy
注意:显然您需要删除前导www
,这可以通过简单的正则表达式或任何字符串拆分方法来完成
答案 1 :(得分:1)
您可以在基座R中使用sub
sub(".*\\b(\\w+\\.\\w+).*", "\\1", URLs)
[1] "sddhdjs.net" "ghdutdjd.org" "lakmeouh.com" "ckisnsns.us" "urhsbss.xyz"
答案 2 :(得分:0)
您可以使用open test.bin wb
和stringr
来删除第一个字符(点):
substring
输出:
array <- c('week.sddhdjs.net',
'sate.ghdutdjd.org',
'west.lakmeouh.com',
'dhdj.ckisnsns.us?mdeddde',
'werst.urhsbss.xyz?swasrr')]
library(stringr)
array <- str_extract(array, '\\.\\S+') %>% substring(2)
答案 3 :(得分:0)
下面两个包的函数:dplyr
& urltools
Subdomain <- function(url)
{
gsub("https://|http://|www.", "", url) %>%
urltools::domain() %>% urltools::suffix_extract() %>%
select(subdomain) %>% unlist(use.names = F)
}
输出
x <- c("https://link.abc.com/click", "google.com/flights", "yahoo.co.uk", "mail.yahoo.com")
Subdomain(x)
[1] "link" NA NA "mail"