Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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
Regex 如何删除带有“的单词”;(“在r中的字符串中?_Regex_R_String_Replace_Gsub - Fatal编程技术网

Regex 如何删除带有“的单词”;(“在r中的字符串中?

Regex 如何删除带有“的单词”;(“在r中的字符串中?,regex,r,string,replace,gsub,Regex,R,String,Replace,Gsub,我有以下字符串: str<-c("hello(world(howr u doin") is:表达式无效,原因为“缺少”)“” 请不要告诉我,我将在字符串的迭代中使用此函数,我们不能说在字符串中的哪个位置“(”。因此,我请求您提供一个全局解决方案。谢谢。 另外,我想请您注意,字符串中要删除的单词在不同的时间可能不同。因此我想要一个正则表达式,它告诉您忽略要删除的单词中特殊字符的含义 这是一个真实的世界情况 library(stringr) library(NLP) library(open

我有以下字符串:

str<-c("hello(world(howr u doin")
is:表达式无效,原因为“缺少”)“”


请不要告诉我,我将在字符串的迭代中使用此函数,我们不能说在字符串中的哪个位置“(”。因此,我请求您提供一个全局解决方案。谢谢。 另外,我想请您注意,字符串中要删除的单词在不同的时间可能不同。因此我想要一个正则表达式,它告诉您忽略要删除的单词中特殊字符的含义

这是一个真实的世界情况

library(stringr)
library(NLP)
library(openNLP)
text_sa<-as.String("`$%`$> http://t.co/W9wDz8yhZE @AshramOrg @villan_TKRrength! #WeSupport_`$8`$(`$>`$$`$(_`$8`$`$8`% ")
removalwords<-c("#WeSupport_`$8`$(`$>`$$`$(_`$8`$\002`$8`%", "@AshramOrg")
for(k in 1:length(removalwords)){
text_sa <- gsub(removalwords[k], "", text_sa)
}
库(stringr)
图书馆(NLP)
图书馆(openNLP)

text_sa您需要转义方括号,因为方括号在regex中是特殊字符。由于替换只会发生一次,您不需要单独使用
gsub
sub

sub("hello\\(world\\(howr\\s*","", str) 

编辑:

x <- "`$%`$> http://t.co/W9wDz8yhZE @AshramOrg @villan_TKRrength! #WeSupport_`$8`$(`$>`$$`$(_`$8`$`$8`% "
remove <- c("#WeSupport_`$8`$(`$>`$$`$(_`$8`$`$8`%", "@AshramOrg")
gsub(paste(gsub("([^\\w\\s])", "\\\\\\1", remove, perl=T),collapse="|"), "", x, perl=T)
[1] "`$%`$> http://t.co/W9wDz8yhZE  @villan_TKRrength!  "

x请不要告诉我,我将在字符串的迭代中使用此函数,我们不能说在哪个位置“(”将在字符串中出现。因此,我要求您提供一个全局解决方案。谢谢。另外,我要求您注意,字符串中要删除的单词在不同的时间可能不同。因此,我想要一个正则表达式,它告诉我们忽略要删除的单词中特殊字符的含义。@areddy so请给出一个反映你真实情况的例子。谢谢。请给我一个答案minute@areddy您可以尝试此
gsub(“\\S*[^\\w\\S]\\S*”,“”,str)
。如果它不起作用,请提供一个示例。我得到
'
作为输出。在“文本”中复制/粘贴新代码时出错
错误:意外'>'
@akrun抱歉,我忘了在字符串中包含“。我现在编辑了它。请重试。现在,我收到错误
错误:找不到函数“as.string”
@请加载库(stringr)@areddy该函数在字符串r中不存在
text_sa<-as.String("`$%`$> http://t.co/W9wDz8yhZE @villan_TKRrength!")
sub("hello\\(world\\(howr\\s*","", str) 
sub("^\\S+\\s*", "", str)
x <- "`$%`$> http://t.co/W9wDz8yhZE @AshramOrg @villan_TKRrength! #WeSupport_`$8`$(`$>`$$`$(_`$8`$`$8`% "
remove <- c("#WeSupport_`$8`$(`$>`$$`$(_`$8`$`$8`%", "@AshramOrg")
gsub(paste(gsub("([^\\w\\s])", "\\\\\\1", remove, perl=T),collapse="|"), "", x, perl=T)
[1] "`$%`$> http://t.co/W9wDz8yhZE  @villan_TKRrength!  "