比方说,我有一本书的文本文件,其中包含多个包含文本的章节。
x <- "Chapter 1 Text. Text. Chapter 2 Text. Text. Chapter 3 Text. Text."
我想分割这些文本,并为每个章节获取一个单独的文件。
"Chapter 1 Text. Text." "Chapter 2 Text. Text." "Chapter 3 Text. Text."
理想情况下,我想根据该章保存每个文件,因此请保存第1章,第2章和第3章。
我尝试了以下方法:
unlist(strsplit(x, "Chapter", perl = TRUE))
不幸的是,这删除了我想保留的定界符。
我也尝试了以下方法:
unlist(strsplit(x, "(?<=Chapter)", perl=TRUE))
不幸的是,这似乎仅适用于单个字符,不适用于字符串。
非常感谢您的帮助!
答案 0 :(得分:1)
我们需要使用正则表达式预行
strsplit(x, "\\s(?=Chapter)", perl = TRUE)[[1]]
#[1] "Chapter 1 Text. Text." "Chapter 2 Text. Text." "Chapter 3 Text. Text."