从所有元素中提取所有.com,.in,.co.in

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

我在csv中有数据,其中包含以下列

ARTICLE_URL
http://twitter.com/aviryadsh/statuses/528219883872337920
http://www.ibtimes.co.in/2014

我想在此列旁边创建另一列,我只能拥有像twitter.com, team-bhp.com, ibtimes.co.in,broadbandforum.co这样的网址。

我试过了

text$ne=str_extract(Brand$ARTICLE_URL, '\\w+(.com)')

但这只是给出了以.com结尾的url如何获取所有其他的url。

r stringr
1个回答
0
投票

在这种情况下,我建议使用字符串替换而不是字符串提取。可以使用字符串提取,但正则表达式有点混乱,并且不像两步字符串替换方法那样可读。这是我如何做到的:

urls <- c("http://twitter.com/aviryadsh/statuses/528219883872337920", "http://www.ibtimes.co.in/2014", "https://www.ibtimes.co.in/2014")
tmp <- stringr::str_replace_all(urls, "https?://|www.", "")
domains <- stringr::str_replace_all(tmp, "/.*", "")

然后看看我们的输出:

domains
# [1] "twitter.com"   "ibtimes.co.in" "ibtimes.co.in"
© www.soinside.com 2019 - 2024. All rights reserved.