[R] split a string a keep the last part

Enrico Schumann es at enricoschumann.net
Thu Aug 28 20:11:33 CEST 2014

On Thu, 28 Aug 2014, Jun Shen <jun.shen.ut at gmail.com> writes:

> 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

This should work for your example:

  gsub(".*-([^-]*)$", "\\1", test)

Enrico Schumann
Lucerne, Switzerland

More information about the R-help mailing list