2017-05-25 3 views
0

私のデータテーブルには2つのテキスト列(col1col2)があります。どちらにも文章があります。 col1にあるすべての単語をcol2で検索し、col1の単語から、col2にある単語を差し引いた文字列を返したいとします。以下は例ですR:ある文字列内の単語を別の文字列で検索し、一致しなかった単語を返します。

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

いえないコンマ? – Jan

答えて

1

このようなものはありますか?

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://stackoverflow.com/questions/22235288/strsplit-on-all-spaces-and-punctuation-except-apostrophes) – simone

+0

ありがとう@サイモン.. – Oshan

関連する問題