[R] regular expression question

Joshua Wiley jwiley.psych at gmail.com
Tue Apr 12 08:12:39 CEST 2011


Hi Erin,

Please read ?grep.  It is clearly not the function you want (neither
is strsplit() either really).  This does what you want and you can
modify for upper/lower case if you need it.  Also note that regular
expressions exist separate from R, so while ":" may have seemed
natural to select a range in R, it has a very different function in
regexp.

gsub("[^A-Za-z]", "", names(funky))

Best regards,

Josh

On Mon, Apr 11, 2011 at 10:49 PM, Erin Hodgess <erinm.hodgess at gmail.com> wrote:
> Dear R People:
>
> I have a data frame with the following column names:
>
>> names(funky)
>  [1] "UHD.1"   "UHD.2"   "UHD.3"   "UHD.4"   "L..W..1" "L..W..2" "L..W..3"
>  [8] "L..W..4" "B..W..1" "B..W..2" "B..W..3" "B..W..4" "W..B..1" "W..B..2"
> [15] "W..B..3" "W..B..4" "B..G..1" "B..G..2" "B..G..3" "B..G..4"
>
>
> I would like to extract the letters from them; no periods, no numbers.
>
> I tried the following:
>
>> grep("[A:Z]",names(funky))
> integer(0)
>
> But this doesn't do it.
>
> I've also been experimenting with strsplit, but no luck yet.
>
> Any help would be much appreciated.
>
> Thanks,
> Sincerely,
> Erin
>
>
> --
> Erin Hodgess
> Associate Professor
> Department of Computer and Mathematical Sciences
> University of Houston - Downtown
> mailto: erinm.hodgess at gmail.com
>
> ______________________________________________
> 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.
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/



More information about the R-help mailing list