从包含电子邮件的 PDF 中提取名称

RP1

我有一个非常具体的问题。我有一组包含电子邮件(和电子邮件链)的 PDF 文件,通常采用以下格式:

From: Doe, John <[email protected]>
To: Doe, Jane <[email protected]>; Doe, John
Subject: Re: Title
text ...
...
From: Doe, John <[email protected]>
To: Doe, Jane <[email protected]>; Doe, John
CC: Moe, James; Klein, John
Subject: Title
text ...

因此,在一个 PDF 文件中,您通常有多个“from”、“to”和“cc”块。姓名的格式始终是姓氏和名字用逗号分隔。不同的名称用分号分隔。但是,有时完整的电子邮件地址(我不需要)会包含在“<”和“>”之间。我想从这些 PDF 文件中提取所有名称(在 from、to 和 cc 部分),最后输出如下所示:

Last name    first name
Doe          John
Doe          Jane
Moe          James
Klein        John

我已经设法使用该pdftools阅读了 PDF 文件

files <- list.files(pattern = "pdf$")
pdfs <- lapply(files, pdf_text)

但是,我目前在尝试找到提取所有名称并将它们保存在数据框中的最佳方法时有些困难。我一直在查看str_extract函数:例如以 开头str_extract(pdfs[[1]], regex("From.*To", ignore_case = TRUE)),但一直无法找到可行的解决方案。任何帮助将非常感激。例如,假设pdfs[[1]]包含以下字符串:

teststring <- "From: Doe, John <[email protected]>\r\n
To: Doe, Jane <[email protected]>; Doe, John\r\n
Subject: Re: Title\r\n
text ...\r\n
...\r\n
From: Doe, John <[email protected]>\r\n
To: Doe, Jane <[email protected]>; Doe, John\r\n
CC: Moe, James; Klein, John\r\n
Subject: Title\r\n
text ...\r\n"
CPak

试试这个,使用 teststring

library(stringr)
fullnames <- unique(c(str_extract_all(teststring, "[a-zA-Z]+,\\s[a-zA-Z]+", simplify=TRUE)))
splitnames <- unlist(strsplit(fullnames, ","))
ans <- data.frame(Last=splitnames[c(TRUE,FALSE)], First=splitnames[c(FALSE,TRUE)])

输出

   Last  First
1   Doe   John
2   Doe   Jane
3   Moe  James
4 Klein   John

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从pdf中提取电子邮件

来自分类Dev

从JS中的字符串中提取名称和电子邮件

来自分类Dev

“ X”列包含邮件,“ Y”列包含要发送的PDF文件的名称(存储在云端硬盘中的“ Z”文件夹中),如何发送每封电子邮件及其PDF?

来自分类Dev

从电子邮件中提取证书

来自分类Dev

从网页中提取隐藏的电子邮件

来自分类Dev

从标题中提取电子邮件

来自分类Dev

如何从文件中提取电子邮件?

来自分类Dev

从会话中获取名称['电子邮件']

来自分类Dev

使用 MPDF 发送 PDF 电子邮件

来自分类Dev

提取电子邮件:密码

来自分类Dev

htmlagilitypack提取电子邮件

来自分类Dev

从全局地址列表(不是名称)中提取电子邮件

来自分类Dev

如何从公司名称中提取电子邮件ID

来自分类Dev

从文本中提取名称

来自分类Dev

从列R中的不同电子邮件中提取特定电子邮件

来自分类Dev

通过电子邮件发送pdf附件,但pdf损坏

来自分类Dev

从包含大量pdf的zip文件中提取特定的pdf

来自分类Dev

VBA文本循环优化-从文本中提取电子邮件

来自分类Dev

如何从用户数组中提取电子邮件

来自分类Dev

如何从原始电子邮件中提取图像?

来自分类Dev

使用Oracle Regexp从字段中提取电子邮件

来自分类Dev

R gsub从文本中提取电子邮件

来自分类Dev

使用ruby从逗号分隔的文件中提取电子邮件

来自分类Dev

从@号之前的电子邮件地址中提取数字

来自分类Dev

如何仅从电子邮件日期中提取年份

来自分类Dev

通过迭代保存从电子邮件中提取的附件

来自分类Dev

如何从原始电子邮件中提取图像?

来自分类Dev

从一行中提取电子邮件ID

来自分类Dev

Ruby Regex从电子邮件地址中提取域名

Related 相关文章

热门标签

归档