fork download
  1. num <- 4
  2. splitvar <- ";"
  3. pattern <- paste0(".{1,", num-1, "}(?:",splitvar,"|$)|[^",splitvar,"]{",num,"}")
  4. pattern # ".{1,3}(?:;|$)|[^;]{4}"
  5. string <- c("a;a;aabbbb;ccddee;ff")
  6. unlist(regmatches(string, gregexpr(pattern, string)))
  7.  
  8. library(stringr)
  9. unlist(str_extract_all(string, pattern))
Success #stdin #stdout 0.29s 42476KB
stdin
Standard input is empty
stdout
[1] ".{1,3}(?:;|$)|[^;]{4}"
[1] "a;a;" "aabb" "bb;"  "ccdd" "ee;"  "ff"  
[1] "a;a;" "aabb" "bb;"  "ccdd" "ee;"  "ff"