[R] gsub

Gabor Grothendieck ggrothendieck at myway.com
Thu Sep 23 16:27:30 CEST 2004

Jean Eid <jeaneid <at> chass.utoronto.ca> writes:

: Hi
: A while back I used gsub to do the following
: temp<-"000US00231"
: gsub("something here", "", temp)
: "00231"
: I think it involved the `meta characters' somehow.
: I do not know how to do this anymore. I know strsplit will also work but I
: remember gsub was much faster.  In essence the question is how to delete
: all characters before a particular pattern.
: If anyone has some help file for this, it will be greatly appreciated.

I think you want sub in this case, not gsub.

There are many possibilities here depending on what the
general case is.  The following all give the desired
result for the example but their general cases differ.
These are just some of the numerous variations possible.

sub(".*US", "", temp)
sub(".*S", "", temp)
sub("[[:digit:]]*[[:alpha:]]*", "", temp)
sub(".*[[:alpha:]]", "", temp)
sub(".*[[:alpha:]][[:alpha:]]", "", temp)
sub(".*[[:upper:]]", "", temp)
sub(".*[[:upper:]][[:upper:]]", "", temp)
sub(".....", "", temp)
substring(temp, 6)

More information about the R-help mailing list