删除以R中的单词开头的句子?
我在R里有一条这样的推文删除以R中的单词开头的句子?,r,string,twitter,text-mining,R,String,Twitter,Text Mining,我在R里有一条这样的推文 "RT @SportClipsUT125: #SavingLivesLooksGood with #RedCross. Donate this month & Get free haircut cpn. https://somewebsite https://somewebsite…" 如何删除所有链接(以删除重复的tweet),以便下面的tweet实际返回下面的字符串 "RT @SportClipsUT125: #SavingLivesLooksGo
"RT @SportClipsUT125: #SavingLivesLooksGood with #RedCross. Donate this month & Get free haircut cpn. https://somewebsite https://somewebsite…"
如何删除所有链接(以删除重复的tweet),以便下面的tweet实际返回下面的字符串
"RT @SportClipsUT125: #SavingLivesLooksGood with #RedCross. Donate this month & Get free haircut"
我试过这个:
gsub('https*','',test_str)
但它又回来了
"RT @SportClipsUT125: #SavingLivesLooksGood with #RedCross. Donate this
month & Get free haircut cpn. ://somewebsite ://somewebsite…"
一个简单的解决方案是更改gsub命令:
gsub(“http[s]*://[:alnum:][]*,”,test_str)
这将正确删除URL的http和https版本
@alistaire在评论中的建议实际上适用于更多的情况,更容易理解gsub('http\\s*,“”,test_str)
将删除任何以http开头的内容。当它找到一个空间(URL没有)时,它将停止
gsub((RT|via)(((?:\\b\\W*@\\W+)),”,test\u str)
删除转发
gsub(“@\\w+”,“”,test\u str)
remove-Atpeople
我强烈建议您将数据放入语料库(一种特殊的数据格式),这样可以很容易地删除经常重复的单词和URL。
如果您有大量数据,您可以这样做:
corpus <- Corpus(VectorSource(my_data))
corpus = tm_map(corpus,content_transformer(function(x) iconv(x, to='UTF8', sub='byte')))
removeURL <- function(x) {gsub('http\\S*', "", x)}
corpus <- tm_map(corpus, content_transformer(removeURL))
corpus一个简单的解决方案是更改gsub命令:
gsub(“http[s]*://[:alnum:][]*,”,test_str)
这将正确删除URL的http和https版本
@alistaire在评论中的建议实际上适用于更多的情况,更容易理解gsub('http\\s*,“”,test_str)
将删除任何以http开头的内容。当它找到一个空间(URL没有)时,它将停止
gsub((RT|via)(((?:\\b\\W*@\\W+)),”,test\u str)
删除转发
gsub(“@\\w+”,“”,test\u str)
remove-Atpeople
我强烈建议您将数据放入语料库(一种特殊的数据格式),这样可以很容易地删除经常重复的单词和URL。
如果您有大量数据,您可以这样做:
corpus <- Corpus(VectorSource(my_data))
corpus = tm_map(corpus,content_transformer(function(x) iconv(x, to='UTF8', sub='byte')))
removeURL <- function(x) {gsub('http\\S*', "", x)}
corpus <- tm_map(corpus, content_transformer(removeURL))
语料库您需要将量词放在要重复的字符上\\S
绝不是空格字符:gsub('http\\S*,'','',RT@SportClipsUT125:#与#RedCross一起拯救生活。本月捐款并获得免费理发cpn。https://somewebsite https://somewebsite“…”
也许您可以再次向twitter发送相同的查询,并附加-RT(区分大小写)。这将删除转发。谢谢@alistaire这确实有效!因此,您的代码实际上是在删除https和空格之后的所有内容?它查找一个模式,即“http”后跟除空格以外的任何字符,重复0次或更多次,并将其替换为零。它实际上会留下尾随空格,但如果有必要的话,你可以加上它来解决这个问题。你需要把量词放在你想重复的字符上\\S
绝不是空格字符:gsub('http\\S*,'','',RT@SportClipsUT125:#与#RedCross一起拯救生活。本月捐款并获得免费理发cpn。https://somewebsite https://somewebsite“…”
也许您可以再次向twitter发送相同的查询,并附加-RT(区分大小写)。这将删除转发。谢谢@alistaire这确实有效!因此,您的代码实际上是在删除https和空格之后的所有内容?它查找一个模式,即“http”后跟除空格以外的任何字符,重复0次或更多次,并将其替换为零。它实际上会留下尾随空格,但如果有必要的话,您可以添加它来解决这个问题。谢谢您的回答。但是我尝试了gsub(“http[:alnum:][]*”,“”,test_str),但是它只去掉了“http”并将其余的短链接保留在那里?哦,修复了它(在删除线代码中),但是@alistaire的建议对于这个特定的问题更好。谢谢你的回答。但是我尝试了gsub(“http[[:alnum:]*”,“”,test_str),但它只去掉了“http”,并将短链接的其余部分保留在那里?哦,修复了它(在删除线代码中),但是@alistaire的建议更适合这个特定问题。