Извлечь строку между двумя строками с максимальной длиной - PullRequest
1 голос
/ 23 октября 2019

У меня большой блок текста из нескольких объединенных 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")

1 Ответ

0 голосов
/ 23 октября 2019

Если кто-то споткнется здесь, я решил это следующим образом:

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

, который находит первое вхождение ОТ или ВПЕЧАТЛЕНИЕ, чтобы остановить матч.

...