只是为了帮助那些刚刚自愿删除问题的人,按照他试过的代码请求和其他评论.我们假设他们尝试过这样的事情:
str <- "How do I best try and try and try and find a way to to improve this code?"
d <- unlist(strsplit(str, split=" "))
paste(d[-which(duplicated(d))], collapse = ' ')
并希望学习更好的方法.那么从字符串中删除重复单词的最佳方法是什么?
如果您仍然对替代解决方案感兴趣,则可以使用unique
它来稍微简化您的代码。
paste(unique(d), collapse = ' ')
根据Thomas的评论,您可能确实希望删除标点符号。R gsub
具有一些不错的内部模式,您可以使用它们代替严格的正则表达式。当然,如果要执行一些更完善的正则表达式,则始终可以指定特定实例。
d <- gsub("[[:punct:]]", "", d)