fork download
  1. text <- c("[AAA]xxxx", "[AAA] yyyrrr", "[AAA][bbb] bla", "[AAA][bbb] cccvvv",
  2. "[AAA][bbb] bla", "[AAA][bbb][CcC] bla", "[AAA][bbb][CcC] xbbpr")
  3. value <- rnorm(7)
  4. df <- data.frame(text, value)
  5. df$Bracket1 <- gsub('(?:.*?\\[([^][]*)\\].*|.*)', '\\1', text, perl=T)
  6. df$Bracket2 <- gsub('(?:.*?\\[[^][]*\\].*?\\[([^][]*)\\].*|.*)', '\\1', text, perl=T)
  7. df$Bracket3 <- gsub('(?:.*?\\[[^][]*\\].*?\\[[^][]*\\].*?\\[([^][]*)\\].*|.*)', '\\1', text, perl=T)
  8. df
Success #stdin #stdout 0.3s 22840KB
stdin
Standard input is empty
stdout
                   text      value Bracket1 Bracket2 Bracket3
1             [AAA]xxxx -0.5794005      AAA                  
2          [AAA] yyyrrr  0.1971984      AAA                  
3        [AAA][bbb] bla  0.3294917      AAA      bbb         
4     [AAA][bbb] cccvvv -1.2702135      AAA      bbb         
5        [AAA][bbb] bla  0.2966182      AAA      bbb         
6   [AAA][bbb][CcC] bla  0.8158564      AAA      bbb      CcC
7 [AAA][bbb][CcC] xbbpr  1.9437216      AAA      bbb      CcC