我需要在字符串中替换foo bar foo bar bar fooall footobar和 all barto foo。所以结果应该是这样的bar foo bar foo foo bar。
我试过这种方式:
library(stringr)
my_str <- "foo bar foo bar bar foo"
rslt <- str_replace_all(my_str, c("foo", "bar"), c("bar", "foo"))
print(rslt)
Run Code Online (Sandbox Code Playgroud)
但相反我得到了"bar bar bar bar bar bar" "foo foo foo foo foo foo".
问题:如何更正我的代码以便我得到bar foo bar foo foo bar?
使用str_replace_all多个替换并将第一个匹配项移动到临时值。
library(stringr)
str_replace_all(my_str, c("foo" = "tmp", "bar" = "foo", "tmp" = "bar"))
[1] "bar foo bar foo foo bar"
Run Code Online (Sandbox Code Playgroud)