Hi Gabor, thanks (and Jim as well) for your suggestion. However this is not
working properly for following string:

> MyString <- "ABCFR34564IJVEOJC3434.36453"
> strapply(MyString, "(\\D+)(\\d+)(\\D+)(\\d <file://d+)(//d+)(//D+)(//d>+)",
c)[[1]]
[1] "ABCFR"   "34564"   "IJVEOJC" "3434"

Therefore there is decimal number in the 4th group, which is numeric then
that is not taken care off...........

Similarly same kind of unintended result here as well:

> MyString <- "ABCFR34564.354IJVEOJC3434.36453"
> strapply(MyString, "(\\D+)(\\d+)(\\D+)(\\d <file://d+)(//d+)(//D+)(//d>+)",
c)[[1]]
[1] "ABCFR"   "34564"   "."       "354"     "IJVEOJC" "3434"    "."
"36453"
Can you please tell me how can I modify that?

Thanks,


On Sun, Feb 13, 2011 at 11:10 PM, Gabor Grothendieck <
ggrothendieck@gmail.com> wrote:

>  On Sun, Feb 13, 2011 at 10:27 AM, Megh Dal <megh700004@gmail.com> wrote:
> > Please consider following string:
> >
> > MyString <- "ABCFR34564IJVEOJC3434"
> >
> > Here you see that, there are 4 groups in above string. 1st and 3rd groups
> > are for english letters and 2nd and 4th for numeric. Given a string, how
> can
> > I separate out those 4 groups?
> >
>
> Try this.  "\\D+" and "\\d+" match non-digits and digits respectively.
>  The portions within parentheses are captures and passed to the c
> function.  It returns a list with a component for each element of
> MyString.  Like R's split it returns a list with a component per
> element of MyString but MyString only has one element so we get its
> contents using  [[1]].
>
> > library(gsubfn)
> > strapply(MyString, "(\\D+)(\\d+)(\\D+)(\\d+)", c)[[1]]
> [1] "ABCFR"   "34564"   "IJVEOJC" "3434"
>
> Alternately we could convert the relevant portions to numbers at the
> same time.  ~ list(...) is interpreted as a  function whose body is
> the right hand side of the ~ and whose arguments are the free
> variables, i.e. s1, s2, s3 and s4.
>
> strapply(MyString, "(\\D+)(\\d+)(\\D+)(\\d+)", ~ list(s1,
> as.numeric(s2), s3, as.numeric(s4)))[[1]]
>
> See http://gsubfn.googlecode.com for more.
>
> --
> Statistics & Software Consulting
> GKX Group, GKX Associates Inc.
> tel: 1-877-GKX-GROUP
> email: ggrothendieck at gmail.com
>

	[[alternative HTML version deleted]]

