我们可以在 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]'
具有不同的含义。
我有一个字符串,我需要将其替换为我想使用正则表达式的替换向量。这件事可能吗?
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]'
具有不同的含义。