无法使用 R 中 readtext 包中的 readtext() 替换从 PDF 文件中提取的文本中的“\r\n-”
Posted
技术标签:
【中文标题】无法使用 R 中 readtext 包中的 readtext() 替换从 PDF 文件中提取的文本中的“\\r\\n-”【英文标题】:Unable to Replace "\r\n-" in Text Extracted from PDF File Using readtext() from readtext Package in R无法使用 R 中 readtext 包中的 readtext() 替换从 PDF 文件中提取的文本中的“\r\n-” 【发布时间】:2020-09-30 02:46:03 【问题描述】:我正在尝试从 R Studio 中的 readtext 包中使用 readtext()
从 PDF 文件中提取的文本中删除“\r\n-”。以下是我在 R 中的代码:
library(readtext)
jd <- readtext("C:/Users/HomeUser/Documents/Sales Manager.pdf")
jd_text <- jd$text
jd_text2 <- gsub(pattern = "\r\n-?|•", replacement = " ", jd_text)
以下是提取的原文jd_text
:
“Sales Manager\r\nCFB Bots 是一家专注于智能自动化 (IA) 的技术服务提供商。我们与\r\n大型企业合作进行数字化转型之旅,帮助他们及其员工在未来\r\n蓬勃发展工作。我们的使命是共同创造未来的数字化劳动力,我们的愿景\r\nis 是让工作变得愉快。有关更多信息,请访问 www.cfb-bots.com。\r\n我们正在寻找一个高绩效的领跑者,为我们不断发展的业务开辟道路并建立新的联系。作为销售经理,您将通过实现我们的客户获取和收入增长目标来保持公司\r\n的竞争力。您将成为销售过程每个阶段的关键\r\n联络人,从计划到完成销售。\r\n如果您对技术充满热情,并且渴望解决客户的\r\n挑战,请继续阅读了解更多。\r\n您可以获得:\r\n− 实现销售目标的激励s\r\n− 接触最新的行业趋势和技术\r\n− 无尽的学习和成长机会\r\n− 提高销售计划、分析和管理技能\r\n− 灵活的工作与生活福利\r\n你会做:\r\n销售策略\r\n- 开发..."
我能够使用gsub()
删除jd_text
中的许多“\r\n-”。来自jd_text2
的输出如下:
“销售经理 CFB Bots 是一家专注于智能自动化 (IA) 的技术服务提供商。我们与大型企业在数字化转型之旅中合作,帮助他们及其员工在未来的工作中茁壮成长。我们的使命是共同创造未来的数字化劳动力,我们的愿景是让工作变得愉快。有关更多信息,请访问 www.cfb-bots.com。我们正在寻找一个高绩效的领跑者,为我们的成长开辟道路并建立新的联系作为一名销售经理,您将通过实现我们的客户获取和收入增长目标,在保持公司竞争力方面发挥重要作用。您将成为销售流程每个阶段的关键联络人,从计划到销售结束。如果您对技术充满热情,并渴望解决客户的挑战,请继续阅读以了解更多信息。您可以获得:- 实现销售目标的激励措施 - 接触最新行业趋势和技术 − 无穷无尽的学习和成长机会 − 提高销售计划、分析和管理技能 − 灵活的工作与生活福利 您将做:制定销售策略..."
如您所见,我能够删除出现在“灵活工作-生活福利”之后的“\r\n-”,而前几个“\r\n-”中的“-”仍然存在。但是,当我将直接从 R Studio 控制台中 jd_text
的显示中提取的原始文本粘贴到新变量 jd_test
中,再次应用 gsub()
时,我能够实现我的目标:
jd_test <- "Sales Manager\r\nCFB Bots is a technology service provider specializing in Intelligent Automation (IA). We partner with\r\nlarge enterprises in their Digital Transformation journey and help them and their employees thrive\r\nin the Future of Work. Our mission is to co-create the Digital Workforce of the Future, and our vision\r\nis to make work enjoyable. For more information, please visit www.cfb-bots.com.\r\nWe are looking for a high performing frontrunner to blaze the trail and make new connections for\r\nour growing business. As a Sales Manager, you will play a vital role in keeping the Company\r\ncompetitive by achieving our customer acquisition and revenue growth targets. You will be the key\r\nliaison in every stage of the sales process, from planning to closing the sales.\r\nIf you are passionate about technology and are motivated by a hunger to solve our clients’\r\nchallenges, read on to find out more.\r\nYou can gain:\r\n− Incentive for achieving sales targets\r\n− Exposure to the latest industry trends and technologies\r\n− Endless learning and growth opportunities\r\n− Sharpen sales planning, analytical and management skills\r\n− Flexible work-life benefits\r\nYou will do:\r\nSales Strategy\r\n- Develop ..."
jd_test2 <- gsub(pattern = "\r\n-?|•", replacement = " ", jd_test)
jd_test2 的输出:
销售经理 CFB Bots 是一家专注于智能自动化 (IA) 的技术服务提供商。我们与大型企业合作开展数字化转型之旅,帮助他们及其员工在未来的工作中茁壮成长。我们的使命是共同创造未来的数字化劳动力,我们的愿景是让工作变得愉快。欲了解更多信息,请访问 www.cfb-bots.com。我们正在寻找一位表现出色的领跑者,为我们不断发展的业务开辟道路并建立新的联系。作为销售经理,您将通过实现我们的客户获取和收入增长目标,在保持公司竞争力方面发挥重要作用。您将成为销售流程每个阶段的关键联络人,从计划到完成销售。如果您对技术充满热情并且渴望解决我们客户的挑战,请继续阅读以了解更多信息。您可以获得:激励实现销售目标 接触最新的行业趋势和技术 无尽的学习和成长机会 提高销售计划、分析和管理技能 灵活的工作与生活福利会做:制定销售策略……”
任何人都知道问题出在哪里,我该如何解决?我尝试使用 pdftools 包中的另一个函数pdf_text()
,但它产生了同样令人沮丧的结果。起初我认为前几个“\r\n-”的“-”比后者稍长,但直接复制粘贴尝试似乎与这一观察相矛盾。在复制粘贴操作期间未迁移的对象中是否存在“隐藏”的内容?非常感谢任何建议!
【问题讨论】:
【参考方案1】:我找到了我的问题的可能答案。从 PDF 文档中提取的原始文本似乎不是 R Studio 可以识别的编码。这可以解释为什么前几个“-”没有被删除。在我应用jd_text <-iconv(jd_text,"UTF-8")
强制编码为 UTF-8 后,我的问题解决了,我可以完全删除 "\r\n-"。
【讨论】:
以上是关于无法使用 R 中 readtext 包中的 readtext() 替换从 PDF 文件中提取的文本中的“\r\n-”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 R 中“ivprobit”包中的“ivprobit”功能?