代码之家  ›  专栏  ›  技术社区  ›  LLL

使用stringr提取部分字符串-获取NA

  •  0
  • LLL  · 技术社区  · 6 年前

    我的目标是输出为E5_1_C33和E5_1_C23,但是我得到的是NA。

    任何帮助都将不胜感激!

    library(stringr)
    mystring <- c("can_ComplianceWHOInfrastructurePol_E5_1_C33","can_ComplianceWHOInfrastructurePol_E5_1_C23")
    str_extract(mystring, "A\\d_\\d_B\\d\\d$")
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   Nar    6 年前

    稍微修改了一下您的行,因为需要任何字母而不仅仅是A和B:

    str_extract(mystring, "[A-z]\\d_\\d_[A-z]\\d\\d$")
    
        2
  •  0
  •   Jilber Urbina    6 年前

    这里有一个R-base方法 gsub

    > gsub(".*(\\w{2}_\\w{1}_\\w{3})$", "\\1", mystring)
    [1] "E5_1_C33" "E5_1_C23"