从字符串中删除网址

时间:2014-02-05 21:48:56

标签: r url replace gsub

我有以下字符串,存储在对象sentence中:

sentence <- "aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013  http://t.co/tkuCRfLy  \" $AAPL vs $AAPL \"  August 2011 http://t.co/863HkVjn"

我正在尝试使用gsub删除以http开头的网址:

sentence <- gsub('http.*','',sentence)

但是,它取代http之后的所有内容:

aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013

我想要的是:

aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013 \" $AAPL vs $AAPL \" August 2011

我正在尝试清理网址,因此如果字符串包含http,我想删除网址。我找到了一些解决方案,但他们没有帮助我。

1 个答案:

答案 0 :(得分:9)

为替换组添加空格:

gsub('http.* *', '', sentence)

或者使用\\s作为空格的正则表达式:

gsub('http.*\\s*', '', sentence)

根据评论,.*将匹配任何内容,正则表达式是贪婪的。相反,我们应该多次匹配一个或多个非空格字符,后跟零个或多个空格:

gsub('http\\S+\\s*', '', sentence)