Greg Snow wrote: > Here is another approach that still uses strspit if you want to stay with > that: > > >> tmp <- '(-0.791,-0.263].(-38,-1.24].(0.96,2.43]' >> strsplit(tmp, '\\.(?=\\()', perl=TRUE) >> > [[1]] > [1] "(-0.791,-0.263]" "(-38,-1.24]" "(0.96,2.43]" > > This uses the Perl 'look-ahead' indicator to say only match on a period that > is followed by a '(', but don't include the '(' in the match. >
right; you could extend this pattern to split the string by every dot that does not separate two digits, for example: strsplit(tmp, '(?<!\\d)\\.(?!\\d)', perl=TRUE) of course, this fails if there are numbers without a leading zero, e.g., .11 vQ ______________________________________________ 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.