我想根据以下条件阅读 R 中的文本文档 - 它会根据某些关键字读取句子,只要找到关键字和以句号 (.) 结尾的句子,就只将这些语句存储在列表中。
输出列表仅包含那些具有特定关键字的语句。
我试过这样的扫描功能-
b<-scan("cbt14-Short Stories For Children.txt",what = "char",sep = '.', nlines = 50)
因为扫描函数有这么多参数,我现在无法理解。
我们可以使用扫描功能实现上述输出吗???
关键字=“船”
输入--
这篇文章你可以从“www.google.com/ship”阅读。 由 Subir Roy 和 Geeta Verma 绘制插图 我站在 S.S. Rajula 的甲板上。当她慢慢驶出马德拉斯港时,我向祖 parent 挥手致意,直到再也看不见他们。我很高兴能登上一艘船。这对我来说是一种全新的体验。 “你一个人旅行吗?”站在我旁边的人问道。 “是的,叔叔,我要回新加坡见 parent 了。”我回答。 “你叫什么名字?”他问。 “Vasantha,”我回答道。我花了一天时间探索这艘船。它看起来就像一座大房子。有带家具的房间、一个游泳池、一个室内游戏室和一个图书馆。然而,周围有足够的空间容纳 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]] )]
上面的代码使用 base R。查看 stringi 或 stringr 库,可能有一个函数可以更好地处理定义句子的字符串拆分。
关于r - 如何阅读R中的文本文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43645084/