我使用adist
来计算两个字符串之间不同的字符数:
a <- "#IvoryCoast TENNIS US OPEN Clément «Un beau combat» entre Simon et Cilic"
b <- "Clément «Un beau combat» entre Simon et Cilic"
adist(a,b) # result 27
现在我想提取那些不同字符的所有出现次数。在我的示例中,我想获取字符串"#IvoryCoast TENNIS US OPEN "
。
我尝试过并使用过:
paste(Reduce(setdiff, strsplit(c(a, b), split = "")), collapse = "")
但获得的结果并非我的预期!
#IvysTENOP
答案 0 :(得分:4)
对于这种情况,您可以使用gsub。
> a <- "#IvoryCoast TENNIS US OPEN Clément «Un beau combat» entre Simon et Cilic"
> b <- "Clément «Un beau combat» entre Simon et Cilic"
> gsub(b, "", a)
[1] "#IvoryCoast TENNIS US OPEN "
答案 1 :(得分:1)
您可以根据paste/reduce
解决方案执行操作:
paste(Reduce(setdiff, strsplit(c(a, b), split = " ")), collapse = " ")
#[1] "#IvoryCoast TENNIS US OPEN"
或者,如果您想通过setdiff
和strsplit
获取分隔的项目:
setdiff(strsplit(a," ")[[1]],strsplit(b," ")[[1]])
#[1] "#IvoryCoast" "TENNIS" "US" "OPEN"