从R中的URL提取字符串的一部分
这是我的示例行。我只想提取网站名称,如;3 UBS或adludio 怎么做?干杯从R中的URL提取字符串的一部分,r,string,substring,R,String,Substring,这是我的示例行。我只想提取网站名称,如;3 UBS或adludio 怎么做?干杯 URL https://www.3dhubs.com/ https://adludio.com/ https://aircall.io/ https://www.andjaro.com/en/home/ 结果 3dhubs adludio aircall andjaro 一旦我输入了这个代码 suffix_extract(domain(df$URL)) 我得到的结果如下:当我试图分配它时,它看起来不同。如何获
URL
https://www.3dhubs.com/
https://adludio.com/
https://aircall.io/
https://www.andjaro.com/en/home/
结果
3dhubs
adludio
aircall
andjaro
一旦我输入了这个代码
suffix_extract(domain(df$URL))
我得到的结果如下:当我试图分配它时,它看起来不同。如何获取域并分配给列
host subdomain domain suffix
www.3dhubs.com www 3dhubs com
adludio.com <NA> adludio com
主机子域后缀
www.3dhubs.com www.3dhubs.com
adludio.com adludio.com
使用合适的URL解析器(如urltools
包中的解析器)可能是最安全的。比如说
dd$domain <- urltools::url_parse(dd$URL)$domain
dd$domain
如何获取域并分配给列
host subdomain domain suffix
www.3dhubs.com www 3dhubs com
adludio.com <NA> adludio com
使用{urltools},以下内容对我很有用:
df$domain = suffix_extract(domain(df$URL))$domain
库工具应该可以工作。如果您的数据位于对象URL中,则它将返回以下内容
library(urltools)
df1 <- suffix_extract(domain(urls))
df1
host subdomain domain suffix
1 www.3dhubs.com www 3dhubs com
2 adludio.com <NA> adludio com
3 aircall.io <NA> aircall io
4 www.andjaro.com www andjaro com
df1$domain
[1] "3dhubs" "adludio" "aircall" "andjaro"
数据:
URL实际上后缀_extract(domain(df$URL))提供了我在域中想要的东西。但是,我无法将结果分配给列。一旦我分配了它,它就会显示出与控制台结果不同的结果。您到底尝试了什么?编辑了问题,与另一个答案上的注释相同:使用gsub
删除子域并不像答案中建议的那样简单。使用后缀\u extract
可能更安全。
library(dplyr)
library(tidyr)
df <- data_frame(urls)
df %>%
mutate(url_parsed = urltools::url_parse(urls)$domain) %>%
separate(url_parsed, into = c("subdomain", "domain", "suffix"), fill = "left")
# A tibble: 4 x 4
urls subdomain domain suffix
<chr> <chr> <chr> <chr>
1 https://www.3dhubs.com/ www 3dhubs com
2 https://adludio.com/ NA adludio com
3 https://aircall.io/ NA aircall io
4 https://www.andjaro.com/en/home/ www andjaro com
urls <- c("https://www.3dhubs.com/", "https://adludio.com/", "https://aircall.io/",
"https://www.andjaro.com/en/home/")