使用R搜索特定的文本模式,并返回模式出现的整个句子

使用R搜索特定的文本模式,并返回模式出现的整个句子,r,text-mining,R,Text Mining,因此,我扫描了一个物理文档,将其更改为tiff图像,并使用软件包Tesseract将其导入R。但是,我需要R查找特定的关键字,在文本文件中找到它,并返回关键字所在的整行 例如,如果我有文本文件: 这也很简单。看看所需的经验年数,看看是否与候选人的经验年数相符。需要注意的是,如果候选人符合或超过所需的工作年限,您会将这两种情况都评为“5” 我告诉R搜索关键字“直截了当”,如何让它返回“这也是直截了当的…看看它是否匹配”?这里有一个基本的R选项: text <- "This is also s

因此,我扫描了一个物理文档,将其更改为tiff图像,并使用软件包Tesseract将其导入R。但是,我需要R查找特定的关键字,在文本文件中找到它,并返回关键字所在的整行

例如,如果我有文本文件:

这也很简单。看看所需的经验年数,看看是否与候选人的经验年数相符。需要注意的是,如果候选人符合或超过所需的工作年限,您会将这两种情况都评为“5”


我告诉R搜索关键字“直截了当”,如何让它返回“这也是直截了当的…看看它是否匹配”?

这里有一个基本的R选项:

text <- "This is also straightforward. Look at the years of experience required and see if that matches the years of experience that the candidate has. It is important to note that if the candidate matches or exceeds the years of experience required, you would rate both of those scenarios a “5”."
lst <- unlist(strsplit(text, "(?<=[a-z]\\.\\s)", perl=TRUE))
lst[grepl("\\bstraightforward\\b", lst)]

text这里有一个解决方案,它使用
quanteda
包将文本分解成句子,然后使用
grep()
返回包含单词“直截了当”的句子

要搜索多个关键字,请通过or运算符|将它们添加到
grep()
函数中

grep("straightforward|exceeds",theSentences,value=TRUE)
…以及输出:

> grep("straightforward",theSentences,value=TRUE)
                          text1 
"This is also straightforward." 
> grep("straightforward|exceeds",theSentences,value=TRUE)

text1 

"This is also straightforward." 

<NA> 
"It is important to note that if the candidate matches or exceeds the years of experience required, you would rate both of those scenarios a \"5\"." 
>grep(“直截了当的|超过”,内容,值=TRUE)
文本1
“这也很简单。”
“需要注意的是,如果候选人符合或超过所需的工作年限,您会将这两种情况评为“5”


在文本文件中没有断线,但是您可以先考虑“代码>读取行< /COD>在文件中逐行读取。是否有一种方法可以一次搜索多个关键字并返回包含这些关键字的多行,或者我必须为每个关键字编写grep函数?您可以通过or运算符|在要搜索的列表中添加关键字。我将用另一个例子更新帖子。
> grep("straightforward|exceeds",theSentences,value=TRUE)

text1 

"This is also straightforward." 

<NA> 
"It is important to note that if the candidate matches or exceeds the years of experience required, you would rate both of those scenarios a \"5\"."