【问题标题】:Regex: extracting matches preceding a pattern in R [duplicate]正则表达式:在 R 中提取模式之前的匹配项
【发布时间】:2021-11-03 03:33:27
【问题描述】:

我正在尝试在 R 中提取模式之前的匹配项。假设我有一个由下一个元素组成的向量:

my_vector
> [1] "ABCC12|94160"        "ABCC13|150000"       "ABCC1|4363"          "ACTA1|58" 
[5] "ADNP2|22850"         "ADNP|23394"          "ARID1B|57492"        "ARID2|196528" 

我正在寻找一个正则表达式来提取 “|” 之前的所有字符。预期的结果必须是这样的:

my_new_vector
> [1] "ABCC12"  "ABCC13"  "ABCC1"  "ACTA1"

等等。

我已经尝试使用基于环视的stringr 函数和正则表达式,但我失败了。

非常感谢您的建议和帮助解决我的问题。

提前致谢!

【问题讨论】:

    标签: r regex string


    【解决方案1】:

    我们可以使用trimws 并将whitespace 指定为匹配| 的正则表达式(元字符 - 所以转义\\ 后跟一个或多个字符(.*

    trimws(my_vector, whitespace = "\\|.*")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2016-06-14
      • 1970-01-01
      • 2011-01-12
      相关资源
      最近更新 更多