代码之家  ›  专栏  ›  技术社区  ›  Marco De Virgilis

从字符串中提取最后的大写字母[重复]

  •  0
  • Marco De Virgilis  · 技术社区  · 7 年前

    我在练习R中的正则表达式。 我想提取最后出现的两个大写字母。 我试过了

    >str_extract("kjhdjkaYY,","[:upper:][:upper:]")
    [1] "YY"
    

    而且效果很好。如果我想提取最后出现的这种模式呢。例子:

    function("kKKjhdjkaYY,")
    [1] "YY"
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ronak Shah    7 年前

    我们可以用 stri_extract_last_regex stringi 包裹

    library(stringi)
    stri_extract_last_regex("AAkjhdjkaYY,","[:upper:][:upper:]")
    #[1] "YY"
    

    或者如果你想坚持 stringr ,我们可以提取出所有与模式匹配的组,然后使用 tail

    library(stringr)
    tail(str_extract_all("AAkjhdjkaYY,","[:upper:][:upper:]")[[1]], 1)
    #[1] "YY"