Matthew -
Redding, Matthew wrote:
Hi All,
Is there a means to extract the "10" from "23:10:34" in one pass using
strsplit (or something else)?
tst <- "23:10:34"
For example my attempt
strsplit(as.character(tst),"^[0-9]*:")
gives
[[1]]
[1] "" "" "34"
Why not simply,
strsplit(tst, ":")
at which point you can subscript to what you want?
To apply to a length n vector
tst2 <- c("23:10:34", "12:08:04", "1:02:03")
strsplit(tst2, ":")
And to extract the second item of each element of the resulting list,
sapply(strsplit(tst2, ":"), "[", 2)
Does this help?
Erik
Obviously it is matching the first two instances of [0-9]. Note that
there may be only one digit before the first ":".
How do I anchor the match to the begginning or better still, just
extract the number I want in one pass?
I can see that I can add "begin" to the beginning of the string, and
match that and do something similar at the end, getting rid of empty
strings
etc - but I think it would take about 3 passess - and the files are
large. And besides that code would be unlovely.
Kind regards,
Matt Redding
********************************DISCLAIMER**************...{{dropped:15}}
______________________________________________
R-help@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.
______________________________________________
R-help@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.