gsub命令用R替换以特定字母开头的单词

时间:2013-08-28 11:30:49

标签: r grep gsub

我的问题是用什么是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)

所有这些都没有带来任何丰硕成果。

非常感谢在这方面的任何帮助。

1 个答案:

答案 0 :(得分:1)

这只是答案的中途:

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

为什么它是“中途回答”?它实际上只针对一组有限的场景 - 其中URL始终后跟空格。但是,如果它遇到一个后跟紧跟标点符号的URL,则无效。

检测URL是一项相当常见的任务。您应该能够通过搜索“正则表达式识别URL”之类的内容找到更详细的模式。但是,最有可能的是,您需要稍微修改它以使用R。