string <- c("tyuynmklabcwsqzp")
如果我的任务是用“abc123”替换每个“abc”,代码是,
gsub("abc", "\\1123", string)
但是,如果我必须搜索“abc”然后将其替换为“c123”,那我该怎么做呢?有没有办法将正则表达式分成几部分,以便我可以\ 2喜欢\ 1? 如果可能,那么我的命令就是,
gsub("abc", "\\2123", string).
请帮忙。
答案 0 :(得分:3)
您可以使用括号将正则表达式的部分组合在一起,然后将重复运算符或反向引用应用于匹配的组。
在你的情况下,试试这个:
string <- c("tyuynmklabcwsqzp")
gsub("(ab)(c)", "\\2123", string)
# [1] "tyuynmklc123wsqzp"
答案 1 :(得分:2)
尝试使用
gsub("(abc)", "\\1123", string) # abc → abc123
和
gsub("ab(c)", "\\1123", string) # abc → c123