基于字符串中某个字符的子字符串字符串

时间:2016-10-06 12:40:30

标签: r regex string substring

我有一个带有多个元素的向量作为由/分割的字符串:

aa <- c("Session/1/Focal_011/Dave_1", "Session/2/Focal_223/Dave_2", 
        "Session/3/Focal_23/Quentin_3", "Session/4/Focal_4/Gerald_4",
        "Session/5/Focal_521/Pedro_5")

我要保留的每个元素都是Name_n n = element number

我可以使用substr ,具体取决于字符串中的/字符

使用substr(aa, 21, nchar(aa))

[1] "Dave_1"   "Dave_2"   "uentin_3" "rald_4"   "Pedro_5" 

这是因为字符串具有不同的length

我如何标准化它,以便我保持最后/

使用regex?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

使用

> aa <- c("Session/1/Focal_011/Dave_1", "Session/2/Focal_223/Dave_2", "Session/3/Focal_23/Quentin_3", "Session/4/Focal_4/Gerald_4", "Session/5/Focal_521/Pedro_5")
> sub("^.*/(.*)$", "\\1", aa)
[1] "Dave_1"    "Dave_2"    "Quentin_3" "Gerald_4"  "Pedro_5"  

请参阅online demo

^.*/(.*)$将匹配任意0个字符,直到最后一个/和斜杠,然后将其余部分捕获到第1组,将使用\1反向引用进行恢复替换模式。

答案 1 :(得分:1)

这是使用tryParseInteger

的另一种选择
strsplit