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

使用regexpr函数查找R中的最后一个字符

  •  0
  • Marcin  · 技术社区  · 12 年前

    我在查找字符串中的最后一个字符时遇到问题。我正在尝试使用 regexpr 函数检查最后一个字符是否等于 / 正斜杠。

    但不幸的是,它确实有效。有人能帮我吗?下面是我的代码。

    regexpr( pattern = ".$", text = /home/rexamine/archivist2/ex/// ) != "/"
    
    3 回复  |  直到 12 年前
        1
  •  3
  •   hwnd    12 年前

    可以避免使用正则表达式 substr 这样做。

    > x <- '/home/rexamine/archivist2/ex///'
    > substr(x, nchar(x)-1+1, nchar(x)) == '/'
    [1] TRUE
    

    或使用 str_sub 来自 stringr 包裹:

    > str_sub(x, -1) == '/'
    [1] TRUE
    
        2
  •  2
  •   Avinash Raj    12 年前

    你可以用一个简单的 grepl 作用

    > text = "/home/rexamine/archivist2/ex///"
    > grepl("/$", text, perl=TRUE)
    [1] TRUE
    > text = "/home/rexamine/archivist2/ex"
    > grepl("/$", text, perl=TRUE)
    [1] FALSE
    
        3
  •  1
  •   vks    12 年前
    ^.*\/$
    

    你可以使用这个。如果最后一个字符不是 / .