我有一个看起来像这样的大文件:
Heading1
1 ABC
2 DEF
Heading2
1 GHI
2 JKL
3 MNO
Heading3
1 PQR
2 STU
标题始终具有相同的模式,但每个标题下方的条目不同(条目数量不同,没有共同模式,字母/单词数量不同)。
我想将一个列表拆分为多个列表,即每个标题都有一个新列表。如果有人能指出我如何解决这个问题的正确方向,那就太好了。
干杯!
编辑:忘记包括如何将每个新列表保存为具有文件名 = 标题的单独文件?
最终解决方案,感谢@Nate
## input
test <- list("Heading1", "1 ABC", "2 DEF", "Heading2", "1 GHI", "2 JKL", "3 MNO", "Heading3", "1 PQR", "2 STU")
## split list into list of lists
header_positions <- grepl("^Heading", test)
grouping_index <- cumsum(header_positions)
li <- split(test[!header_positions], grouping_index[!header_positions])
setNames(li, test[header_positions]) # Yes to fancy names ;)
## save each list
for(n in names(li)) {
writeLines(unlist(li[[n]]), paste0("heading ",n))
}