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.