我正在尝试对我的数据中出现的模式使用字符串替换。我的模式目前看起来像这样 -
a&b|c
我想用它代替这样的东西 -
(?=.*a)(?=.*b)|c
在R中实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
我们可以使用sub
来匹配字符串开头(^
)后跟&
和另一个字母的字母,将其捕获为一个组((...)
)并用反向引用替换我们需要添加的模式
sub("^([a-z])&([a-z])", "(?=.*\\1)(?=.*\\2)", str1)
#[1] "(?=.*a)(?=.*b)|c"
str1 <- "a&b|c"