(我正在使用 R。)对于称为“goodwords.corpus”的单词列表,我正在遍历语料库中的文档,并将列表“goodwords.corpus”中的每个单词替换为单词 + a数字。
例如,如果单词“good”在列表中,而“goodnight”不在列表中,那么这个文档:
I am having a good time goodnight
会变成:
I am having a good 1234 time goodnight
**我正在使用此代码(编辑-使此可重现):
goodwords.corpus <- c("good")
test <- "I am having a good time goodnight"
for (i in 1:length(goodwords.corpus)){
test <-gsub(goodwords.corpus[[i]], paste(goodwords.corpus[[i]], "1234"), test)
}
但是,问题是我希望 gsub 只替换整个单词。出现的问题是:“good”在“goodwords.corpus”列表中,但是不在列表中的“goodnight”也受到影响。所以我明白了:
I am having a good 1234 time good 1234night
无论如何我可以告诉 gsub 只替换整个单词,而不是可能是其他单词一部分的单词?
我想用这个:
test <-gsub("\\<goodwords.corpus[[i]]\\>", paste(goodwords.corpus[[i]], "1234"), test)
}
我读过 \< 和 \> 会告诉 gsub 只查找整个单词。但显然这不起作用,因为 goodwords.corpus[[i]] 在引号中时不起作用。
有什么建议么?