提取不带后缀或子域名的域名

时间:2016-09-01 09:25:54

标签: regex r string

我有一个包含一些域名的表

    site
1 Google.com
2 yahoo.in
3 facebook.com
4 badge.net

所以,我想删除"之后的所有单词。"例如(.com,.net,.in)。  我使用下面的函数,但将我的字符串转换为数字形式。

gsub("\\..*","",df)

1 个答案:

答案 0 :(得分:6)

您正在使用域名,因此您可能希望使用一些旨在执行此操作的工具:

library(urltools)

df <- data.frame(site=c("Google.com", "yahoo.in", "facebook.com", "badge.net"))

suffix_extract(df$site)
##           host subdomain   domain suffix
## 1   Google.com      <NA>   google    com
## 2     yahoo.in      <NA>    yahoo     in
## 3 facebook.com      <NA> facebook    com
## 4    badge.net      <NA>    badge    net

表示@Sotos:

urltools::suffix_extract('www.bankofcyprus.com')
##                   host subdomain       domain suffix
## 1 www.bankofcyprus.com       www bankofcyprus    com