r语言 - 查找模式并将下一个字母括在括号之间



我必须在数据框架列中找到不同的模式,一旦找到,下一个字母应该用括号括起来:

数据:

a <- c('(acetyl)RKJOEQLKQ', 'LDFEION(acetyl)EFNEOW')

,如果模式为:'(acetyl)'这是我想要实现的输出:

预期输出:

b <- c('(R)KJOEQLKQ', 'LDFEION(E)FNEOW')

我知道如何使用gsub:

找到模式
b <- gsub('(acetyl)', replacement = '', a)

但是,我不确定如何在找到模式后的下一个字母的括号之间进行包装。

如有任何帮助,不胜感激。

可以使用

a <- c('(acetyl)RKJOEQLKQ', 'LDFEION(acetyl)EFNEOW')
gsub('\(acetyl\)(.)', '(\1)', a)
## => [1] "(R)KJOEQLKQ"     "LDFEION(E)FNEOW"

参见regex演示和在线R演示。

细节:

  • (acetyl)-匹配文字字符串(acetyl)
  • (.)-捕获任何单个字符到组1

(1)替换模式将匹配项替换为(+第一组值+)

相关内容

  • 没有找到相关文章