在R中用'[]'拆分字符串向量

Ale*_*lex 2 string split r vector

我有一个像这样的字符串:

nw.str <- "[D][A|D][T|A:D][C|T]"
Run Code Online (Sandbox Code Playgroud)

我需要以这种方式拆分它:

"[D]" "[A|D]" "[T|A:D]" "[C|T]"
Run Code Online (Sandbox Code Playgroud)

Sim*_*lon 6

您可以在baseR中使用strsplit和零宽度断言(它们匹配字符但不使用它们)来执行此操作.基本上我们寻找紧密的括号,然后是开括号和开括号,然后是紧密的括号,并在它们之间分开....

strsplit( x , "(?<=\\])(?=\\[)"  , perl = TRUE )
#[[1]]
#[1] "[D]"     "[A|D]"   "[T|A:D]" "[C|T]"
Run Code Online (Sandbox Code Playgroud)