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

Sah*_*sai 3 regex string r

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

    site
1 Google.com
2 yahoo.in
3 facebook.com
4 badge.net
Run Code Online (Sandbox Code Playgroud)

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

gsub("\\..*","",df)
Run Code Online (Sandbox Code Playgroud)

hrb*_*str 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
Run Code Online (Sandbox Code Playgroud)

对于@Sotos:

urltools::suffix_extract('www.bankofcyprus.com')
##                   host subdomain       domain suffix
## 1 www.bankofcyprus.com       www bankofcyprus    com
Run Code Online (Sandbox Code Playgroud)