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

时间:2014-09-10 11:56:19

标签: regex r character

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

但遗憾的是它确实有效。谁能帮我?以下是我的代码。

regexpr( pattern = ".$", text = /home/rexamine/archivist2/ex/// ) != "/"

3 个答案:

答案 0 :(得分:3)

您可以避免使用正则表达式并使用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

答案 1 :(得分:1)

^.*\/$

您可以使用此功能。如果最后一个字符不是/,则会失败。

答案 2 :(得分:1)

您可以使用简单的grepl函数

> text = "/home/rexamine/archivist2/ex///"
> grepl("/$", text, perl=TRUE)
[1] TRUE
> text = "/home/rexamine/archivist2/ex"
> grepl("/$", text, perl=TRUE)
[1] FALSE