我想替换某些术语而不更改其他字词。
在这里,我想更改sp
的indet
而不更改其他单词,例如species
。names <- c ('sp', 'sprucei', 'sp', 'species')
我已经尝试过gsub
,但是当我运行它时,输出不是我想要的gsub (' sp', ' indet', names)
输出:[1] "indet" "indetrucei" "indet" "indetecies"
并不是:[1] "indet" "sptrucei" "indet" "sptecies"
有什么建议吗?
干杯!
最佳答案
尝试
names <- c ('sp', 'sprucei', 'sp', 'species')
gsub('^sp$', 'indet', names)
# [1] "indet" "sprucei" "indet" "species"
^
要求匹配从字符串的开头开始,而$
要求匹配从字符串的结尾开始。如果在
sp
之前/之后还有其他单词,则可以使用\b
匹配单词边界names <- c ('sp', 'sprucei', 'apple sp banana', 'species')
gsub('\\bsp\\b', 'indet', names)
# [1] "indet" "sprucei" "apple indet banana" "species"
关于r - 在不更改其他单词的情况下替换R中的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26044693/