【发布时间】:2020-12-24 20:48:22
【问题描述】:
我在一个文件夹中保存了多个 pdf 文件。我需要从数据框中的每个文件中提取“2020 年 11 月 19 日”等格式的第一个日期。
这是我正在使用的代码:
myextr2 <- function(pdffile) {
text_data <- pdf_text(pdffile)
text_collapsed_data <- paste0(text_data, collapse = '\n')
g=stringi::stri_extract( text_collapsed_data, regex = ("(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)/s+/d{1,2}/s+/d{4}")
g[1]
}
files <- list.files(pattern = "pdf$")
pricing = sapply(files, myextr2)
pricing
我收到以下错误:
Error: unexpected '}' in "}"
在这方面需要帮助。
【问题讨论】:
-
您好,我在正则表达式末尾缺少一个右括号,但无法获取任何日期
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。也许还可以看到:stackoverflow.com/questions/51035220/… 或 filingdb.com/b/pdf-text-extraction
-
这是
\s和\d,而不是/s和/d。 (虽然我不知道 R,所以可能需要转义反斜杠)。此外,示例中的“Novemeber”拼写错误(代码之外)。除此之外,模式本身works fine。它只是有太多不必要的捕获组。