регулярное выражение для извлечения текста главы, игнорируя индекс - PullRequest
0 голосов
/ 13 апреля 2020

Я ищу способ извлечь с помощью R главу Благодарности из нескольких файлов pdf, имеющих разную структуру.

Используя pdftools::pdftext(my_file) У меня есть вектор символов с одной страницей на элемент. Затем я проверяю, существует ли глава (иногда ее нет), ища слова Acknowledgement или Предисловие.

Используя str_which() Подмножество с простым регулярным выражением, и беру самый последний элемент (первым будет Индекс) ... за исключением того, что я обнаружил, что некоторые PDF-файлы имеют раздел до Индекс.

Я ищу способ (или регулярное выражение), чтобы различать guish между слово в качестве заголовка главы и то же слово в оглавлении? Возможно, используя точки (....) или ____, которые типичны для To C или наличие абзаца (не менее 20 слов) сразу после слова Acknowledgement на фактической правильной странице для извлечения

#here is an example file, for more go here https://odr.chalmers.se/handle/20.500.12380/1

url <- "https://odr.chalmers.se/bitstream/20.500.12380/166094/1/166094.pdf"

download.file(url)
raw <- pdftools::pdf_text(pdf)
  if(sum(str_count(raw, "Acknowledgement")) > 0 | sum(str_count(raw, "Foreword")) > 0) 
    {
     raw[max(str_which(raw, c("Acknowledgement|Foreword")))], "\n") %>% 
      `[[`(1) 
    }

  else(c("No chapter!"))
...