清理数据/截断短 URL 数据

Cleaning Data / Truncate short URL out of data

我目前正在清理电子商务中的一些 URL 数据,因为我想更好地了解引荐来源流量的来源。

我已经尝试过 R 中的 sub() 函数,但我 运行 在正确应用 RegEx 方面遇到困难。

sub("*.com", "", q2$Session.First.Referrer)

我想简单地清理一个 URL 看起来像 "http\://www\.gazelle\.com/main/home\.jhtml" 基本 URL 所以 "www.gazelle.com".

假设所有 URL 的格式相同,您可以使用 gsub 删除出现在 "www" 之前和 ".com 之后的文本,使用以下方法指南:

# Example string
my.string = "http://www.gazelle.com/main/home.jhtml"
> my.string
[1] "http://www.gazelle.com/main/home.jhtml"

# remove everything after .com
output.string = gsub(".com.*",".com", my.string)

# remove everything before www.
output.string = gsub(".*www.", "www.", output.string)

> output.string
[1] "www.gazelle.com"

我使用了 stringr 包中的 str_extract(tidyverse 的一部分):

library(tidyverse)
library(stringr)

my_data <- tibble(addresses = c("https://www.fivethirtyeight.com/features/is-there-still-room-in-the-democratic-primary-for-biden/",
                                "https://www.docs.aws.amazon.com/sagemaker/latest/dg/sms.html",
                                "https://www.whosebug.com/questions/55500553/cleaning-data-truncate-short-url-out-of-data"))

str_extract(my_data$addresses, "www.+com")

哪个returns:

[1] "www.fivethirtyeight.com" "www.docs.aws.amazon.com"
[3] "www.whosebug.com"