我有一个带有多个元素的向量作为由/
分割的字符串:
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
?如果是这样,怎么样?
答案 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