如何提取特定单词旁边的单词/句子?示例:
“6月28日,简去电影院吃了爆米花”
我想选择 'Jane' 并得到 [-2,2],意思是:
“6月28日,简去了”
最佳答案
我们可以创建一个函数来帮忙。这可能会使它更具活力。
library(tidyverse)
txt <- "On June 28, Jane went to the cinema and ate popcorn"
grab_text <- function(text, target, before, after){
min <- which(unlist(map(str_split(text, "\\s"), ~grepl(target, .x))))-before
max <- which(unlist(map(str_split(text, "\\s"), ~grepl(target, .x))))+after
paste(str_split(text, "\\s")[[1]][min:max], collapse = " ")
}
grab_text(text = txt, target = "Jane", before = 2, after = 2)
#> [1] "June 28, Jane went to"
首先我们拆分句子,然后我们找出目标的位置,然后我们抓取之前或之后的任何单词(函数中指定的数字),最后我们将句子折叠起来。
关于r - 提取特定单词前后的 5 个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57980257/