【问题标题】:How to append a string before pattern while keeping the string as it is?如何在保持字符串原样的同时在模式之前附加字符串?
【发布时间】:2016-04-14 09:42:26
【问题描述】:

我试图通过查找模式的位置来做到这一点,但是在替换时,我无法保留旧字符串。以下是示例:

old <- "(101==1,2) AND (102==1)"
str_replace_all(old, "\\(\\d+", replacement = "(stringToReplace")

这是打印

(stringToReplace==1,2) AND (stringToReplace==1)

但我想输出为

(stringToReplace101==1,2) AND (stringToReplace102==1)

【问题讨论】:

    标签: r gsub stringr


    【解决方案1】:

    您可以在正则表达式的部分周围放置方括号。您可以使用\1\2 等来引用这些内容。在这种情况下,我在\\d+ 周围添加了括号,而\\1 在替换中添加了与第一组括号匹配的所有内容:

    str_replace_all(old, "\\((\\d+)", replacement = "(stringToReplace\\1")
    

    如需了解更多信息,请参阅Regular Expressions with The R Language中的替换字符串向量中的正则表达式匹配部分

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      相关资源
      最近更新 更多