我想根据以下条件阅读 R 中的文本文档 -
基于某些关键字,它会读取句子,并且每当它找到以句号 (.) 结尾的关键字和句子时,只将这些语句存储在列表中。
输出列表只包含那些具有特定关键字的语句。
我尝试过这样的扫描功能-
b<-scan("cbt14-Short Stories For Children.txt",what = "char",sep = '.', nlines = 50)
因为扫描函数有这么多参数,我现在无法理解。
我们可以使用扫描功能实现上述输出吗???
关键字 = "船"
输入 -
您可以从“www.google.com/ship”阅读这篇文章。
插图由 Subir Roy 和 Geeta Verma Man Overboard
我站在 S.S. Rajula 的甲板上。当她慢慢搬出马德拉斯港时,我向祖 parent 挥手致意,直到看不到他们为止。我很高兴能登上一艘船。这对我来说是一种全新的体验。
“你一个人去旅行?”站在我旁边的人问道。
“是的,叔叔,我要回新加坡见 parent 了,”我回答。
“你叫什么名字?”他问。 “瓦桑塔,”我回答。我花了一天时间探索这艘船。它看起来就像一个大房子。有带家具的房间、游泳池、室内游戏室和图书馆。然而,11111周围有足够的空间。第二天早上,乘客们就坐在餐厅里吃早餐。扩音器发出刺耳的声音,然后船长的声音响亮而清晰。 “ friend 们,我们刚刚收到消息,印度洋正在酝酿一场 Storm 。请大家保持冷静。不要 panic 。那些倾向于出海的人——
3
输出列表--
[1]这篇文章你可以从“www.google.com/ship”阅读。
[2]我很高兴能登上一艘船。
[3] 我花了一天时间探索这艘船。
最佳答案
这个问题的难点在于正确分离句子。在这种情况下,我使用句点后跟一个空格“.”来定义一个句子。在此示例中,它确实生成了一个包含单个单词的句子 - “Rajula”,但这可能是可以接受的,具体取决于您的最终应用程序。
#split the text into sentences using a ". "
sentences<-strsplit(b, "\\. ")
#find the sentences with the word ship in the answer
finallist<-sentences[[1]][grepl("ship", sentences[[1]] )]
上面的代码使用基础 R。查看 stringi 或 stringr 库,可能有一个函数可以更好地处理定义句子上的字符串拆分。
关于r - 如何阅读R中的文本文档?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43645084/