从字符串中删除特定短语

时间:2017-10-16 09:01:40

标签: r gsub

我正在尝试将R用于一些基本的文本分析。

我有一个包含复杂数据类型的列。我希望维护一个单独的表,我可以使用它从第1个数据列中删除某些短语。

我尝试过gsubfn但没有任何成功。

例如

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE")
removefields <-c("COURT","BODY CORPORATE")

为什么

x <- gsubfn(removefields,"",dirtydata)

不起作用?

希望输出

c("JOHN ","@PETER","BOB 22","RUPERT ")

4 个答案:

答案 0 :(得分:0)

试试这个。

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE")
removefields <-c("COURT | BODY CORPORATE")
x <- gsub(removefields, "", dirtydata)

答案 1 :(得分:0)

这适用于您放入removefields的任何内容,并删除要删除的字符串周围的空白区域:

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE")
removefields <- c("COURT","BODY CORPORATE")
removefields <- paste0("\\s+", removefields, "\\s+", collapse = "|")
x <- gsub(removefields, "", dirtydata)

答案 2 :(得分:0)

我们可以使用tm

dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE")
removefields <-c("COURT","BODY CORPORATE")

library(tm)
removeWords(dirtydata, removefields)

> removeWords(dirtydata, removefields)
[1] "JOHN "   "@PETER"  "BOB 22"  "RUPERT "

答案 3 :(得分:0)

请使用R

base功能查找以下编辑过的代码
dirtydata <- c("JOHN COURT","@PETER","BOB 22","RUPERT BODY CORPORATE")
removefields <-c("COURT","BODY CORPORATE")
pastedFields = paste0(removefields,collapse = "|")
gsub(pastedFields,"",dirtydata)