我试过了
gsub("/^(http?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/","","This is a website http://www.example.com/test and needs to be removed",ignore.case=T, perl=T)
模式来自:this website
代码运行但不起作用。有什么想法吗?
答案 0 :(得分:1)
卸下:
^
和$
,匹配行的开头/结尾/
,它们是分隔符,并且不是gsub所必需的
,它可以避免你只匹配网址 - 目前,它会捕获所有行的末尾)gsub("(http?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w\\.-]*)*\\/?","","This is a website http://www.example.com/test and needs to be removed",ignore.case=T, perl=T)
<强> Try it 强>
答案 1 :(得分:0)
维护的 qdapRegex 包中的rm_url
函数是为此而生成的。它还具有纠正留下的额外空白区域的额外好处:
library(qdapRegex)
rm_url("This is a website http://www.example.com/test and needs to be removed")
## [1] "This is a website and needs to be removed"
如果您对rm_url
的正则表达式感兴趣,可以在任何使用单个正则表达式的 qdapRegex 函数上使用grab
函数并了解表达式使用:
grab("rm_url")
## [1] "(http[^ ]*)|(ftp[^ ]*)|(www\\.[^ ]*)"