gsub在R中的两个字符串之间查找和替换文本

普里

我必须在包含文本的列的1000行中使用gsub函数。我想在每一行中删除出现在“ said:”和“ click to expand ...”之间的所有单词,因为它们只是上一条推文的副本。我试图gsub用来完成我的任务

content2<-as.data.frame(gsub(".*said:(.*?)expand.... *", " ", content2$txt,fixed=TRUE),stringsAsFactors = FALSE);

但是,它仅删除“ said:”并扩展。content2100观察1个可变数据帧的,我必须做任务的每一行。在wiktor回应之后,我试图查看他所写的那行是否有效。我仍然可以看到说:并单击以展开...。在第35行中,wiktor的代码仅适用于我猜的第一行(无论如何,该行不包含要删除的行)。我尝试使用apply失败,如下所示将其应用于每一行,b3esside太慢,这给了我另一个错误:

ops<-apply(content2,1,gsub("(said:).*?(click to expand\\.{3})", "\\1 \\2", content2,fixed=TRUE))

只是浏览了重复的帖子,它并没有回答我的问题,这是:如果我想替换模式之间的所有字符,该说“我想替换”“:”和“单击以展开”之间的所有字符串,该怎么办? 100X1数据帧的所有行。所有行都包含一组字符串,并且输出应为尺寸为100X1的数据框:ops<-gsub("(said:).*?(click to expand\\.{3})", "\\1 \\2", test)

@WiktorStribiżew谢谢,它似乎只能工作,我也想删除“ said:”和“单击以展开...”。我制作了以下可复制的代码,您可以看到“ said:”和“单击以展开...”不是被删除。

test<-as.data.frame(c("he said: i wanna be a rockstar click to expand....ok great but how you gonna do it", 
                      "rockstar said: so how you gonna do it click to expand.... we are wanna be a big rockstar, hang out in collest bar vip with movie star"),stringsAsFactors=FALSE)
ops<-lapply(test, gsub, pattern = '(said:).*?(click to expand\\.{3})', replacement ="\\1 \\2", perl=TRUE)
ops<-as.data.frame(ops,stringsAsFactors = FALSE)
维克多·史翠比维

要删除数据帧中所有列中从said:最左边到最左边的所有子字符串,click to expand...可以使用

content2[] <- lapply(content2, gsub, pattern = '(?s)said:.*?click to expand\\.{3}', replacement =" ", perl=TRUE)

PCRE正则表达式(请注意perl=TRUE启用了PCRE引擎)匹配:

  • (?s)-启用.匹配换行符(默认情况下不启用
  • said:-字符串(要匹配整个单词,请\b在前面添加
  • .*? -任意0个以上的字符,尽可能少
  • click to expand\.{3}-click to expand...子字符串(\.{3}.char三次匹配)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在两个字符串Powershell之间替换文本

替换文件中两个字符之间的字符串

使用linux bash替换文件中两个字符串之间的文本

在多行之间的两个字符串之间进行查找和替换

sed查找和替换两个字符串之间的chutcher

如何在整个文本中的两个字符之间替换字符串?

PowerShell用日期和时间替换两个字符串之间的文本

sed:在两个字符串之间替换文本,而无需编辑整行

跨两个字符串之间的多行替换文本段-正则表达式

在mysql中两个字符之间替换文本

替换两个字符串之间的多行文本

使用awk替换两个字符串或模式之间的文本

PowerShell替换两个字符串之间的文本

查找两个字符串之间的文本的所有精确度

在两个字符串之间查找包含特定值的文本

如何在Sublime中替换两个字符之间的字符串

查找JavaScript中两个字符串之间的差异

如何提取日志文件中两个字符串之间的文本?

在Powershell中的两个字符串之间修剪文本

在AppleScript中重复提取两个字符串之间的文本

打字稿替换字符串中两个字符之间的字符串

查找R中两个字符串列之间的匹配项

Qt在两个字符串之间替换字符串

在两个字符串之间替换某些字符串的实例

查找/替换文本文件中两个单词之间的字符串

查找两个字符串之间的子字符串

Lua:在两个字符串之间查找字符串

查找两个字符串之间的公共子字符串

查找两个字符串之间的公共子字符串