Hi All, Thanks for all these great efficient solutions.
Another one in the mix that Phil S. sent on to me: sapply(strsplit(tst,":"),function(x)x[2]) Matt >-----Original Message----- >From: Gabor Grothendieck [mailto:[EMAIL PROTECTED] >Sent: Thursday, 16 October 2008 8:38 AM >To: Redding, Matthew >Cc: r-help@r-project.org >Subject: Re: [R] strsplit and regex > >Here are several solutions: > >#1 ># replace first three and last 3 characters with nothing x <- >c("23:10:34", "01:02:03") gsub("^...|...$", "", x) > >#2 ># backref = -1 says extract the portion in parens # it would >have returned a list so we use simplify = c >library(gsubfn) >strapply(x, ":(..):", backref = -1, simplify = c) > >#3 ># convert to POSIXct and use POSIXct's format >library(chron) >format(as.POSIXct(as.chron(times(x))), "%M") > >#4 ># chron times are fractions of a day ># this gives numeric result whereas others give character >library(chron) >floor(24 * 60 * as.numeric(times(x))) %% 60 > > >On Wed, Oct 15, 2008 at 5:54 PM, Redding, Matthew ><[EMAIL PROTECTED]> 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" >> >> 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:1 >> 5}} =0...{{dropped:19}} ______________________________________________ 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.