字符串在R的最后一个(也是在任何第n个)分隔符处分割,并在分隔符之前删除字符串

MAP*_*APK 2 r

我有一个矢量vec.我需要在最后一个"/"之前删除该部分并获取剩余的字符串并获取result.另请注意,我不能使用Perl兼容的regexp(即perl = FALSE).我也希望看到第n个分隔符.

vec<-c("/apple/pineapple/mango/reg.sh_ttgs.pos","/apple/pipple/mgo/deh_ttgs.pos")
Run Code Online (Sandbox Code Playgroud)

最后一个分隔符的结果

reg.sh_ttgs.pos , deh_ttgs.pos
Run Code Online (Sandbox Code Playgroud)

第二个分隔符的结果

pineapple/mango/reg.sh_ttgs.pos, pipple/mgo/deh_ttgs.pos
Run Code Online (Sandbox Code Playgroud)

等等..

jaz*_*rro 5

或者,您可以char2end()qdap包中使用.您可以在函数中指定分隔符和要使用的分隔符(第1个,第2个等).

library(qdap)
Run Code Online (Sandbox Code Playgroud)

对于第二个分隔符,

char2end(vec, "/", 2)
#[1] "pineapple/mango/reg.sh_ttgs.pos" "pipple/mgo/deh_ttgs.pos"
Run Code Online (Sandbox Code Playgroud)

对于最后一个分隔符,

char2end(vec, "/", 4)
#[1] "reg.sh_ttgs.pos" "deh_ttgs.pos" 
Run Code Online (Sandbox Code Playgroud)

  • @LyzandeR是的,包裹提供各种各样的东西.我甚至无法通过整个CRAN手册.泰勒创造了一个伟大的包. (2认同)