R:搜索另一个字符串中的一个字符串中的字,并返回不匹配的字

问题描述:

我的数据表有两个文本列(col1col2)。他们都有句子。我想在col2中查找col1中的所有单词,并返回一个字符串,其中包含col1中的单词,其中包含在col2中找到的单词。下面是一个例子R:搜索另一个字符串中的一个字符串中的字,并返回不匹配的字

  col1     |   col2    |  output 
america, uk have too much money | uk, uk money too too | america, have much 
+0

你尝试过这么远吗? – Jan

这样的事情?

DT <- data.table(col1 <- "america, uk have too much money", col2 <- "uk, uk money too too") 
DT[, output := paste(strsplit(DT[,col1], "(\\s+)|(?!')(?=[[:punct:]])", perl = TRUE)[[1]][!(strsplit(DT[,col1],"(\\s+)|(?!')(?=[[:punct:]])", perl = TRUE)[[1]] %in% strsplit(DT[,col2], "(\\s+)|(?!')(?=[[:punct:]])", perl = TRUE)[[1]])], collapse = " ")] 

没有逗号虽然

+0

[看这里](https://*.com/questions/22235288/strsplit-on-all-spaces-and-punctuation-except-apostrophes) – simone

+0

谢谢@simone .. – Oshan