There is one minor problem with parse(): if any of the individual commands has an error, the entire text will be parsed in a single error.
For example, in a normal R console: > print(2); ls( [1] 2 + So first print(2) is executed, and only after the console expects the user to continue the command from ls( Parsing the same text: > parse(text = "print(2); ls(") Error in parse(text = "print(2); ls(") : <text>:2:0: unexpected end of input 1: print(2); ls( ^ What I would need is something to separate the two commands, irrespective of their syntactical correctness: [1] "print(2)" "ls(" I hope this explains the situation, Adrian On Thu, Sep 15, 2016 at 11:02 PM, Adrian Dușa <dusa.adr...@unibuc.ro> wrote: > On Thu, Sep 15, 2016 at 10:28 PM, William Dunlap <wdun...@tibco.com> > wrote: > >> The most reliable way to split such lines is with parse(text=x). >> Regular expressions don't do well with context-free grammars. >> > > Oh, that's right of course. > > as.character(parse(text = x)) > [1] "foo <- \"3;4\"" "bar <- \"don't ; use semicolons\"" > > That was simple enough, thanks very much, > Adrian > > -- > Adrian Dusa > University of Bucharest > Romanian Social Data Archive > Soseaua Panduri nr.90 > 050663 Bucharest sector 5 > Romania > -- Adrian Dusa University of Bucharest Romanian Social Data Archive Soseaua Panduri nr.90 050663 Bucharest sector 5 Romania [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.