raw = c("MOUNTAIN VIEW","MOUNTAIN")
x = gsub("MOUNTAIN", "MOUNTAIN VIEW", raw, ignore.case = TRUE)
Current output: "MOUNTAIN VIEW VIEW" "MOUNTAIN VIEW"
Desired output: "MOUNTAIN VIEW" "MOUNTAIN VIEW"
我只想替换原始数据中的第二个条目MOUNTAIN
with MOUNTAIN VIEW
。原始数据中的第一个条目已经正确。但当我这样做时gsub
它取代了两者的出现MOUNTAIN
with MOUNTAIN VIEW
。谁能帮我找到解决这个问题的方法吗?
I tried \\b
但它不起作用,我明白为什么。我还有什么可以做的吗?
Use anchors http://www.rexegg.com/regex-anchors.html#caret而是在这里匹配整个字符串:
sub('^MOUNTAIN$', 'MOUNTAIN VIEW', raw, ignore.case = TRUE)
# [1] "MOUNTAIN VIEW" "MOUNTAIN VIEW"
如果需要,您还可以使用捕获组并在替换调用中反向引用它:
sub('^(MOUNTAIN)$', '\\1 VIEW', raw, ignore.case = TRUE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)