R:搜索另一个字符串中的一个字符串中的字,并返回不匹配的字
问题描述:
我的数据表有两个文本列(col1
和col2
)。他们都有句子。我想在col2
中查找col1
中的所有单词,并返回一个字符串,其中包含col1
中的单词,其中包含在col2
中找到的单词。下面是一个例子R:搜索另一个字符串中的一个字符串中的字,并返回不匹配的字
col1 | col2 | output
america, uk have too much money | uk, uk money too too | america, have much
答
这样的事情?
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 = " ")]
没有逗号虽然
你尝试过这么远吗? – Jan