Here's another possibility:
> x <- c("Apple12","HP42","Dell91")
> strsplit(x,"(?<=\\D)(?=\\d)", perl=TRUE)
[[1]]
[1] "Apple" "12"
[[2]]
[1] "HP" "42"
[[3]]
[1] "Dell" "91"
Krishna Tateneni <tateneni at gmail.com> writes:
> Greetings,
>
> I have a vector of values that are a word followed by a number, e.g., x
> c("Apple12","HP42","Dell91"). The goal is to
split this vector into two
> vectors such that the first vector contains just the words and the second
> contains just the numbers. I cannot use strsplit (or at least I do not
> know how) as there is no obvious separator.
>
> I can use sub to create a separator, e.g., y =
sub("([[:digit:]])","
> \\1",x), and then use strsplit, but I thought more experienced R users
may
> have a better solution. I've spent some time with Google, but not
turned
> up anything so far.
>
> Many thanks,
> --Krishna