Alternatively, perhaps strsplit() with an appropriate regex argument. See ?strsplit ?regexp
e.g. strsplit ("z<=5",split = "[<>=]+") [[1]] [1] "z" "5" This of course will only work if you know what the characters are that define "left" and "right", how complex the expressions might be, etc. -- i.e. the simple case. -- Bert On Wed, Jul 3, 2013 at 10:55 AM, William Dunlap <wdun...@tibco.com> wrote: > If your syntax is like R's syntax then parse() can help. > R> p <- parse(text="z = 1 + 2") > R> p[[1]] # the first (& only) expression in "z = 1 + 2" > z = 1 + 2 > R> as.list(p[[1]]) # the 'function' called (`=`) and its 'arguments' > [[1]] > `=` > > [[2]] > z > > [[3]] > 1 + 2 > > R> as.list(p[[1]][[3]]) # ditto for the 2nd argument above > [[1]] > `+` > > [[2]] > [1] 1 > > [[3]] > [1] 2 > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > > >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On >> Behalf >> Of Dan Murphy >> Sent: Wednesday, July 03, 2013 10:38 AM >> To: R-help@r-project.org >> Subject: [R] Splitting a string expression into components >> >> I have a vector of strings that contain mathematical expressions. E.g., >> x <- c("5 <= 7", "z = 1+2") >> and I would like to decompose each expression into its left- and >> right-hand-side components etc., output something like >> >> "5" "<=" "7" >> "z" "=" "1" "+" "2" >> >> Is there something built into the R language to accomplish this? >> Thanks for advance. >> Dan >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ 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.