[R] regular expression for selection

Uwe Ligges ligges at statistik.tu-dortmund.de
Mon Nov 14 10:42:05 CET 2011



On 14.11.2011 10:22, Petr PIKAL wrote:
> Hi
>
>> On 11/14/2011 07:45 PM, Petr PIKAL wrote:
>>> Dear all
>>>
>>> I am again (as usual) lost in regular expression use for selection.
> Here
>>> are my data:
>>>
>>>> dput(mena)
>>> c("138516_10g_50ml_50c_250utes1_m53.00-_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m54.00_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m55.00_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m56.00_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m57.00_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m58.00_s1.imp",
>>> "138516_10g_50ml_50c_250utes1_m59.00_s1.imp")
>>>
>>> I want to select only values "m" foolowed by numbers from 53 to 59.
>>>
>>> I used
>>>
>>> sub("m5.", "", mena)
>>>
>>> which correctly selects those m53 - m59 values but, in contrary to my
>>> expectation, it replaced the selected values with specified
> replacement -
>>> in that case empty string.
>>>
>>> What I shall use if I want to get rid of all but m53-m59 from those
>>> strings?
>>>
>> Hi Petr,
>> How about:
>>
>> grep("m5",mena)
>
> It gives numeric values which tells me that there is a match in each
> string, but as a result I need only
>
> m53-m59 substrings.


gsub(".*_(m5.).*", "\\1", mena)

Uwe Ligges



> Regards
> Petr
>
>
>
>>
>> Jim
>>
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list