1

我的问题是什么是 gsub 命令来代替以特定字母开头的单词。我的主要目标是从给定文本中删除所有 URL。

例如,我有一个文本:"refer http://www.google.com for further details". 我需要做的是将文本转换为"refer for further details". 为此,基本上我需要编写gsub如下命令:

text <- "refer http://www.google.com for further details"

gsub("http", "", text)

但是,这只会从文本中删除部分“http”。我需要删除以“http”开头的完整单词。

我尝试过的其他一些命令:

gsub('http..', "", text) # -->removes two letters more after 'http' (the number of dots specifies the number of letters'
gsub('^http', "", text)
gsub('/http', "", text)
gsub('\\\http', "", text)

这一切都没有产生任何丰硕的成果。

在这方面的任何帮助将不胜感激。

4

1 回答 1

1

这只是一个一半的答案:

gsub("https?://.*?\\s", "", text)
# [1] "refer for further details"

为什么是“半途而废”?它实际上只解决了一组有限的场景——URL 后面总是跟着空格的场景。但是,如果它遇到一个紧跟标点符号的 URL,它将不起作用。

检测 URL 是一项相当常见的任务。您应该能够通过搜索“regex identify URL”之类的内容找到更详细的模式。不过,最有可能的是,您需要对其进行一些修改才能与 R 一起使用。

于 2013-08-28T12:32:44.297 回答