Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除以R中的单词开头的句子?_R_String_Twitter_Text Mining - Fatal编程技术网

删除以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

我在R里有一条这样的推文

"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的建议更适合这个特定问题。