繁体   English   中英

在最大长度的两个字符串之间提取字符串

[英]Extract string between two strings with maximum length

我有一大块来自几个合并的 pdf 的文本。 我想拿出一个部分。 问题是有时没有填充周围的部分,这会影响文本块中的结尾“字符串标记”。 具体来说,结束字符串会有所不同,具体取决于单个 pdf 文件的填写方式。

我如何做到这一点的想法是搜索两个结束字符串,并在告诉字符串提取器继续前进之前强加最大数量的单词。 这是我尝试过的:

my_text <- "NARRATIVE\nsome things happened here\nFROM:\nblah blah blah\n(HOME)\nNARRATIVE\nsomething else \n maybe long\nIMPRESSION:\nblah blah blah\n(HOME)\this keeps going and going until it finally finds\nFROM:"

tofind <- paste(c("NARRATIVE(.*?)\nIMPRESSION","NARRATIVE(.*?)\nFROM:"), collapse="|")
narrative <- as.list(str_extract_all(my_text, regex(tofind, dotall = TRUE)))

不幸的是,这只执行“tofind”的第一个参数。 我想:

whatIwant <- c("some things happened here", "something else \n maybe long")

如果有人在这里绊倒,这就是我解决它的方法:

tofind <- paste(c("NARRATIVE(.*?)(\nFROM|IMPRESSION)"))

它找到第一次出现的 FROM 或 IMPRESSION 以停止匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM