在R中,有没有比下面更好/更简单的方法来查找字符串中最后一个点的位置?
x <- "hello.world.123.456"
g <- gregexpr(".", x, fixed=TRUE)
loc <- g[[1]]
loc[length(loc)] # returns 16
这会找到字符串中的所有点,然后返回最后一个点,但它似乎相当笨拙.我试着使用正则表达式,但没有成功.
在R中,有没有比下面更好/更简单的方法来查找字符串中最后一个点的位置?
x <- "hello.world.123.456"
g <- gregexpr(".", x, fixed=TRUE)
loc <- g[[1]]
loc[length(loc)] # returns 16
这会找到字符串中的所有点,然后返回最后一个点,但它似乎相当笨拙.我试着使用正则表达式,但没有成功.
这对你有用吗?
x <- "hello.world.123.456"
g <- regexpr("\\.[^\\.]*$", x)
g
\.
匹配一个点[^\.]
与所有匹配,但不匹配一个点*
指定上一个表达式(除了点以外的所有表达式)可能出现在0到无限次之间$
表示字符串的结束. 把所有的东西放在一起:找到一个点,后面跟一个点,直到字符串结束.R要求转义\
,因此在上面的表达式中为\\
.请参见regex\
.com以试验正则表达式.