从R中的URL提取字符串的一部分

从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)) 我得到的结果如下:当我试图分配它时,它看起来不同。如何获

这是我的示例行。我只想提取网站名称,如;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))
我得到的结果如下:当我试图分配它时,它看起来不同。如何获取域并分配给列

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/")