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

时间:2018-06-25 15:05:30

标签: r string substring

这是我的示例行。我只想提取网站名称,例如; 3dubs或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

3 个答案:

答案 0 :(得分:1)

使用适当的URL解析器(例如TextBox包中的URL解析器)可能是最安全的。例如

Station

经过测试

PropertyChanged

答案 1 :(得分:0)

  

如何获取域并分配给列?

使用{urltools},以下对我有用:

imageView.setAlpha(100);

答案 2 :(得分:0)

库urltools应该可以工作。如果您的数据位于对象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"

dplyr / tidyr选项如下,但使用urltools中的url_parse来确保它是有效的url。

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