I don't know if there is a direct, perl-like way to capture the matches, but
here is a solution:
> mdat <- gregexpr("[[:digit:]]{8}", txt)
> dates <- mapply(function(x, y) substr(txt, x, x + y - 1), mdat[[1]],
attr(mdat[[1]], "match.length"))
> dates
[1] "20080101" "20090224"
-Christos
> -
Try this:
library(gsubfn)
strapply("blah blah start=20080101 end=20090224", "start=(\\d{8})
end=(\\d{8})", c, perl = TRUE)[[1]]
or perhaps just:
strapply("blah blah start=20080101 end=20090224", "\\d{8}", perl = TRUE)[[1]]
On Tue, Feb 24, 2009 at 7:23 PM, wrote:
> Hello,
>
> Newbie question
> txt <- "blah blah start=20080101 end=20090224"
> nums <- sub(".*start=(\\d+).*end=(\\d+).*", "\\1 \\2", txt, perl=TRUE)
> nums <- strsplit(sub(".*start=(\\d+).*end=(\\d+).*", "\\1 \\2", txt,
> perl=TRUE), ' ')
> nums
[[1]]
[1] "20080101" "20090224"
On Tue, Feb 24, 2009 at 7:23 PM, wrote:
>
3 matches
Mail list logo