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.
Hope this helps,
--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[email protected]
801.408.8111
> -----Original Message-----
> From: [email protected] [mailto:r-help-boun...@r-
> project.org] On Behalf Of [email protected]
> Sent: Monday, March 02, 2009 11:17 PM
> To: [email protected]
> Subject: [R] regular expression question
>
> can someone show me how to use a regular expression to break the string
> at the bottom up into its three components :
>
> (-0.791,-0.263]
> (-38,-1.24]
> (0.96,2.43]
>
> I tried to use strplit because of my regexpitis ( it's not curable.
> i've
> been to many doctors all over NYC. they tell me there's no cure ) but
> it doesn't work because there also dots inside the brackets. Thanks.
>
> (-0.791,-0.263].(-38,-1.24].(0.96,2.43]
>
> ______________________________________________
> [email protected] 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.
______________________________________________
[email protected] 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.