两个字符串之间的差异(“相对补”),我无法找到一个方法来做到这一点...提取r中
raw_string <- "\"+001\", la bonne surprise de M. Jenn M. Ayache http://goo.gl/3EXxy6 via @MYTF1News"
clean_string <- "+001, la bonne surprise de Jenn Ayache"
desired_string <- "\"\"M. M. http://goo.gl/3EXxy6 via @MYTF1News"
我不知道如何把这种转变。我会说“差异”(如在集合论中,反对“工会”和“交集”)。更好的名字可以是“相对补充”(http://en.wikipedia.org/wiki/Complement_(set_theory)#Relative_complement)。
我想要的字符串中只有和所有缺少的字符都在clean_string中,按顺序排列,每次出现都有一次,包括空格,标点符号和所有内容。
我能够做到的最好的不够好:
> a <- paste(Reduce(setdiff, strsplit(c(raw_string, clean_string), split = " ")), collapse = " ")
> a
[1] "\"+001\", M. http://goo.gl/3EXxy6 via @MYTF1News"
谢谢,但我不明白为什么它不会与这两个字符串工作:'raw_string < - “\” Tranquille酒店,196个卷宗德détenustrouvés丹斯德拉鲁(LES上一个)\” HTTP: //rue89.nouvelobs.com/2014/09/02/tranquille-196-dossiers-detenus-trouves-rue-les-a-254557 via @ Rue89“'and'clean_string < - ”Tranquille,196 dossiers dedétenustrouvésdans la rue(on les a)“' –
似乎工作它给了'”\“\”http://rue89.nouvelobs.com/2014/09/02/tranquille-196-dossiers-detenus-trouves-ru e -les-a-254557 via @ Rue89“' – konvas
你是对的:我在将函数应用到字符串列时出错,问题必须出现在我的for循环中!我再次检查 –