[R] Split a string vector with '[ ]'

David Winsemius dwinsemius at comcast.net
Sun Jun 8 22:56:40 CEST 2014


On Jun 8, 2014, at 1:46 PM, Duncan Murdoch wrote:

> On 08/06/2014, 4:30 PM, Alexsandro Cândido de Oliveira Silva wrote:
>> Hi,
>> 
>> I have a string something like that:
>> 
>> nw.str <- "[D][A|D][T|A:D][C|T]"
>> 
>> And I need to split it in this way:
>> 
>> "[D]" "[A|D]" "[T|A:D]" "[C|T]"
> 
> You could probably use lookahead and lookbehind Perl regular
> expressions, but this might be easier:
> 
> readLines(textConnection(gsub("\\]\\[", "]\n[", nw.str)))
> 
> This just inserts a newline between each pair of brackets, and then
> reads the resulting string.

Same idea with scan() using space as separator:

scan(what="", text=gsub("\\]\\[", "\\] \\[", nw.str))

-- 
David Winsemius
Alameda, CA, USA



More information about the R-help mailing list