清理数据/从数据中截短网址

时间:2019-04-03 17:02:39

标签: r regex url text truncate

我现在正在从eCom清除一些URL数据,因为我想更好地了解引荐来源的来源。

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

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

我只想清理一个看起来像的URL “ http \:// www \ .gazelle \ .com / main / home \ .jhtml” 基本网址,例如“ www.gazelle.com”。

2 个答案:

答案 0 :(得分:1)

假设您的所有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"

答案 1 :(得分:1)

我使用了str_extract软件包中的stringr(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.stackoverflow.com/questions/55500553/cleaning-data-truncate-short-url-out-of-data"))

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

哪个返回:

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