[R] toupper does not work in sub + regex
Gabor Grothendieck
ggrothendieck at gmail.com
Mon Apr 13 18:26:12 CEST 2009
sub only handles replacement strings, not replacement functions.
Your code is the same as:
sub("q_([a-z])[a-zA-Z]*", '\\1', "q_sviRaw")
since toupper('\\1') has no alphabetics so its just literally '\\1' and
the latter is what sub uses.
The gsubfn function in the gsubfn package can deal with replacement
functions:
> library(gsubfn)
> gsubfn("q_([a-z])[a-zA-Z]*", toupper, "q_sviRaw")
[1] "S"
See the home page: http;//gsubfn.googlecode.com, vignette and help page.
On Mon, Apr 13, 2009 at 11:54 AM, Tan, Richard <RTan at panagora.com> wrote:
> Hi, I don't know what I am doing wrong to the toupper does not seem
> working in sub + regex. The following returns 's' not the upper class
> 'S' as I expect:
>
> sub("q_([a-z])[a-zA-Z]*",toupper('\\1'),"q_sviRaw")
>
> Can someone tell me where I did wrong?
>
> Thanks,
> Richard
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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