[R] strsplit with a vector split argument
Marc Schwartz
marc_schwartz at me.com
Wed Sep 18 17:49:43 CEST 2013
On Sep 18, 2013, at 10:42 AM, Sam Steingold <sds at gnu.org> wrote:
> Hi,
> I find this behavior unexpected:
> --8<---------------cut here---------------start------------->8---
>> strsplit(c("a,b;c","d;e,f"),c(",",";"))
> [[1]]
> [1] "a" "b;c"
>
> [[2]]
> [1] "d" "e,f"
> --8<---------------cut here---------------end--------------->8---
> I thought that it should be identical to this:
> --8<---------------cut here---------------start------------->8---
>> strsplit(c("a,b;c","d;e,f"),"[,;]")
> [[1]]
> [1] "a" "b" "c"
>
> [[2]]
> [1] "d" "e" "f"
> --8<---------------cut here---------------end--------------->8---
> Is this a bug or did I misunderstand the docs?
> Thanks!
The latter. From ?strplit in the description of 'split':
If split has length greater than 1, it is re-cycled along x.
Thus, in the first example above, ',' is used for the first element of your vector and ';' is used for the second and so on.
Regards,
Marc Schwartz
More information about the R-help
mailing list