我们可以在 R 中将正则表达式与替换向量一起传递吗

Can we pass regex alongside with replacement vector in R

我有一个字符串,我需要将其替换为我想使用正则表达式的替换向量。这件事可能吗?

txt='foo bar'
nchar(txt)
ix='foo'
gsub(ix,'bar', txt) #### output
gsub(pattern = '[^ix]', replacement = 'bar', txt)

所需的输出是 'bar bar'

其中 ix 是字符向量,我真正的问题是如何将模式与正则表达式一起使用。

我们可以使用 paste 将一个字符串对象与另一个字符串连接起来。

sub(paste0('^',ix), 'bar', txt)
#[1] "bar bar"

注意:在 [ 中使用 ^'[^ix]' 具有不同的含义。