[R] using sub with "wildcards", e.g. sub("\\*..", "", "test.a..34")

jim holtman jholtman at gmail.com
Wed Jan 9 00:15:38 CET 2008


This will work:

> sub(".*\\.\\.", "", "test.a..34")
[1] "34"


This say match all characters upto and including the two periods.  You
have to escape the periods since they have special meaning in regular
expression (match a character).

On Jan 8, 2008 6:08 PM, Charilaos Skiadas <cskiadas at gmail.com> wrote:
> If this is really the case you are dealing with, wouldn't strsplit do
> the job more easily?
>
> On Jan 8, 2008, at 5:47 PM, Thomas Pujol wrote:
>
> > I have a text string "test.a..34"
> >
> >   I wish to extract the text that comes after ".." (e.g. "34"), and
> > the text that comes before ".." (e.g. "test.a").
> >
> >   What is a good way to do this? Also, can you help me understand
> > how to use "wildcards" such as "*" with sub, etc?
> >
> >
> >   #This seems to work, but I am unclear how it works:
> >   sub("\\*..", "", "test.a..34")
> >
> >   #This does not work:
> >   sub("\\*..", "", "test.a..34")
> >
> Those two lines look the same to me, and they don't work.
> Perhaps you wanted:  sub("\\.\\.", "", "test.a..34")
>
> Have you looked at ?regex  ?
>
> Haris Skiadas
> Department of Mathematics and Computer Science
> Hanover College
>
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?




More information about the R-help mailing list