[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]".

Try:

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

-- 
David Winsemius
Alameda, CA, USA




More information about the R-help mailing list