[R] Extract part of string

David Winsemius dwinsemius at comcast.net
Sun Jan 5 18:24:48 CET 2014

On Jan 5, 2014, at 12:45 AM, Ron Michael wrote:

> Hi,
> I am struggling to extract a part of string using regular expression in R.
> Let say, the string to be extracted is 'ron' from the expression 'my name is ron'. So I tried following:
>> gsub("[^(ron)]", "", 'my name is ron')
> [1] "nron"
> I was expecting to get 'ron', which is not the case.

The "[" operator in regex does not take into account the sequence of the target letters so you get all "r", all"o", and all "n" in the order in which they occur.  "[onr]" will have the same meaning as "[ron]".


> gsub("^.*(ron).*$", "\\1", 'my name is ron')
[1] "ron"

David Winsemius
Alameda, CA, USA

More information about the R-help mailing list