【问题标题】:how to replace parts of search string in R如何在R中替换部分搜索字符串
【发布时间】:2012-10-17 13:38:38
【问题描述】:
string <- c("tyuynmklabcwsqzp")

如果我的任务是用“abc123”替换每个“abc”,代码是,

gsub("abc", "\\1123", string)

但是,如果我必须搜索“abc”然后将其替换为“c123”,那我该怎么做呢?有没有办法将正则表达式分成几部分,以便我可以像 \1 一样拥有 \2? 如果可能的话,那么我的命令是,

gsub("abc", "\\2123", string).

请帮忙。

【问题讨论】:

    标签: regex r


    【解决方案1】:

    您可以使用括号将正则表达式的各个部分组合在一起,随后将重复运算符或反向引用应用于匹配的组。

    在你的情况下,试试这个:

    string <- c("tyuynmklabcwsqzp")
    gsub("(ab)(c)", "\\2123", string)
    # [1] "tyuynmklc123wsqzp"
    

    【讨论】:

      【解决方案2】:

      尝试使用

      gsub("(abc)", "\\1123", string)   # abc → abc123
      

      gsub("ab(c)", "\\1123", string)   # abc → c123
      

      【讨论】:

        猜你喜欢
        • 2015-05-02
        • 1970-01-01
        • 2017-07-26
        • 2010-10-10
        • 1970-01-01
        • 2015-11-13
        • 2016-01-19
        • 2021-03-01
        • 2016-12-08
        相关资源
        最近更新 更多