如何使用带有R的strsplit的字符串定界符分割文本?

时间:2018-06-29 14:41:36

标签: r string strsplit

比方说,我有一本书的文本文件,其中包含多个包含文本的章节。

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))

不幸的是,这似乎仅适用于单个字符,不适用于字符串。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我们需要使用正则表达式预行

strsplit(x, "\\s(?=Chapter)", perl = TRUE)[[1]]
#[1] "Chapter 1 Text. Text." "Chapter 2 Text. Text." "Chapter 3 Text. Text."