【问题标题】:Split string after last underscore in R [duplicate]在R中的最后一个下划线之后拆分字符串[重复]
【发布时间】:2020-12-02 21:14:22
【问题描述】:

我有一个类似“ABC_Something_Filename”的字符串。如何在 R 中将其拆分为“ABC_Something”和“文件名”?

我不想删除任何东西。我想要两个组件 - 在最后一个下划线之前和之后。

编辑:我尝试使用提到的列分隔,但这对于我的用例来说过于广泛。因此,我找到了一个简单的分割字符串的正则表达式替代方法

【问题讨论】:

  • 使用群组捕获?你能说明失败的原因吗?

标签: r regex string split


【解决方案1】:

一种选择是使用 strsplit 和负前瞻,它断言要拆分的下划线是输入中的最后一个:

input <- "ABC_Something_Filename"
parts <- strsplit(input, "_(?!.*_)", perl=TRUE)[[1]]
parts

[1] "ABC_Something" "Filename"

【讨论】:

    【解决方案2】:

    您可以使用str_match 并分两组捕获数据。

    x <- 'ABC_Something_Filename'
    stringr::str_match(x, '(.*)_(.*)')[, -1]
    #[1] "ABC_Something" "Filename"     
    

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2021-01-01
      • 2020-05-11
      • 1970-01-01
      • 2017-04-12
      相关资源
      最近更新 更多