"(^| +)([^/ ]*/?){0,2}", with the first "*" replaced by "+" would be a bit better.
Bill Dunlap TIBCO Software wdunlap tibco.com On Mon, Oct 9, 2017 at 8:50 AM, William Dunlap <wdun...@tibco.com> wrote: > > x <- "f 147/1315/587 2820/1320/587 3624/1321/587 1852/1322/587" > > gsub("(^| *)([^/ ]*/?){0,2}", "\\1", x) > [1] " 587 587 587 587" > > y <- "aa aa/ aa/bb aa/bb/ aa/bb/cc aa/bb/cc/ aa/bb/cc/dd aa/bb/cc/dd/" > > gsub("(^| *)([^/ ]*/?){0,2}", "\\1", y) > [1] " cc cc/ cc/dd cc/dd/" > > > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > On Mon, Oct 9, 2017 at 8:02 AM, Duncan Murdoch <murdoch.dun...@gmail.com> > wrote: > >> I have a file containing "words" like >> >> >> a >> >> a/b >> >> a/b/c >> >> where there may be multiple words on a line (separated by spaces). The >> a, b, and c strings can contain non-space, non-slash characters. I'd like >> to use gsub() to extract the c strings (which should be empty if there are >> none). >> >> A real example is >> >> "f 147/1315/587 2820/1320/587 3624/1321/587 1852/1322/587" >> >> which I'd like to transform to >> >> " 587 587 587 587" >> >> Another real example is >> >> "f 1067 28680 24462" >> >> which should transform to " ". >> >> I've tried a few different regexprs, but am unable to find a way to say >> "transform words by deleting everything up to and including the 2nd slash" >> when there might be zero, one or two slashes. Any suggestions? >> >> Duncan Murdoch >> >> ______________________________________________ >> 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/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. > > > [[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.