gpt4 book ai didi

r - 如何通过考虑它们在文本中的位置来挖掘多词?

转载 作者:行者123 更新时间:2023-12-04 09:51:11 26 4
gpt4 key购买 nike

我想在给定的文本中提取位于年份和以下逗号之间的某些单词。虽然术语 Mining前后出现2020text ,我需要在 (2020) 之间找到的后一个和 , .相同的概念适用于术语 Computer Science在以下text .

library(stringr)
text <- "This is text Mining exercise (2020) Mining, p. 628508; Computer Science text analysis (1998) Computer Science, p.345-355; Introduction to data mining (2015) J. Data Science, pp. 31-33"
comp <- c("Mining", "Computer Science", "J. Data Science")
pattern <- str_c(comp,collapse ="|")
data <- str_extract_all(text, pattern)

上面代码的最后一行给出了以下输出:
[1] "Mining" "Mining" "Computer Science" "Computer Science" "J. Data Science" 

我正在寻找的输出是:
[1] "Mining" "Computer Science" "J. Data Science" 

备注 : 这些词的位置很重要。任何帮助表示高度赞赏!

最佳答案

如果我们需要在)之间提取在数字和 , 之后, 创建一个正则表达式环视

library(stringr)
str_extract_all(text, str_c("(?<=\\(\\d{4}\\)\\s)(", pattern, ")(?=,)"))[[1]]
#[1] "Mining" "Computer Science" "J. Data Science"

关于r - 如何通过考虑它们在文本中的位置来挖掘多词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62009962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com