On Aug 28, 2014, at 12:41 PM, Jun Shen <jun.shen...@gmail.com> wrote:

> Hi everyone,
> 
> I believe I am not the first one to have this problem but couldn't find a
> relevant thread on the list.
> 
> Say I have a string (actually it is the whole column in a data frame) in a
> format like this:
> 
> test<- 'AF14-485-502-89-00235'
> 
> I would like to split the test string and keep the last part. I think I can
> do the following
> 
> sub('.*-.*-.*-.*-(.*)','\\1', test)
> 
> to keep the fifth part of the string. But this won't work if other strings
> have more or fewer parts separated by '-'. Is there a general way to do it?
> Thanks.
> 
> Jun


Try this:

test <- 'AF14-485-502-89-00235'

> sub("^.*-(.*)$", "\\1", test)
[1] "00235"


test <- 'AF14-485-502-89-00235-1234'

> sub("^.*-(.*)$", "\\1", test)
[1] "1234"


Another option:

> tail(unlist(strsplit(test, "-")), 1)
[1] "1234"


Regards,

Marc Schwartz

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to