清理数据/截断数据中的短URL [重复]

问题描述 投票:2回答:2

这个问题在这里已有答案:

我现在正在清理eCom中的一些URL数据,因为我希望更好地了解引用来自哪个引用流量。

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

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

我想简单地清理一个看起来像“http \:// www \ .gazelle \ .com / main / home \ .jhtml”的网址,基本网址为“www.gazelle.com”。

r regex url text truncate
2个回答
1
投票

假设您的所有网址都是相同的格式,您可以使用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
投票

我使用了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"  
© www.soinside.com 2019 - 2024. All rights reserved.