R 提取字符串中关键字周围的值

R 提取字符串中关键字周围的值,r,string,character,R,String,Character,我正在寻找一种能够检测长字符串中关键字周围的数字的机器学习模型: “R version 3.5.1 (2018-07-02)--"Feather Spray"Copyright(C)2018TheRFoundationbananas12forStatisticalComputingPlatform:-darwin15.6.0(64-bit)Risfreesoftwareandcomesapples84withABSOLUTELYNOWARRANTY.Youarewelcometoredistri

我正在寻找一种能够检测长字符串中关键字周围的数字的机器学习模型:

“R version 3.5.1 (2018-07-02)--"Feather Spray"Copyright(C)2018TheRFoundationbananas12forStatisticalComputingPlatform:-darwin15.6.0(64-bit)Risfreesoftwareandcomesapples84withABSOLUTELYNOWARRANTY.Youarewelcometoredistributeitundercertainconditions.Type'liceoranges67nse()'or'licence()’fordistributiondetails."
这里的想法是提取:

apples 84 
bananas 12
oranges 67 
是否有任何R包能够实现此任务


提前感谢您

我不知道任何现有软件包本身,但您也可以轻松地构建一个匹配水果词的替代,然后在输入字符串中对所有匹配项执行正则表达式搜索:

fruits <- c("apples", "bananas", "oranges")
regex <- paste0("(", paste(fruits, collapse="|"), ")\\s*\\d+")
input <- "R version 3.5.1 (2018-07-02)--\"Feather Spray\"Copyright(C)2018TheRFoundationbananas12forStatisticalComputingPlatform:-darwin15.6.0(64-bit)Risfreesoftwareandcomesapples84withABSOLUTELYNOWARRANTY.Youarewelcometoredistributeitundercertainconditions.Type'liceoranges67nse()'or'licence()’fordistributiondetails."
regmatches(input, gregexpr(regex, input))[[1]]

[1] "bananas12" "apples84"  "oranges67"

它匹配一个水果术语,后跟可选空格和一个或多个数字。您可以向输入向量中添加更多水果以扩展此正则表达式。

我不知道任何现有的软件包本身,但您也可以轻松地构建匹配水果词的替代,然后在输入字符串中对所有匹配项执行正则表达式搜索:

fruits <- c("apples", "bananas", "oranges")
regex <- paste0("(", paste(fruits, collapse="|"), ")\\s*\\d+")
input <- "R version 3.5.1 (2018-07-02)--\"Feather Spray\"Copyright(C)2018TheRFoundationbananas12forStatisticalComputingPlatform:-darwin15.6.0(64-bit)Risfreesoftwareandcomesapples84withABSOLUTELYNOWARRANTY.Youarewelcometoredistributeitundercertainconditions.Type'liceoranges67nse()'or'licence()’fordistributiondetails."
regmatches(input, gregexpr(regex, input))[[1]]

[1] "bananas12" "apples84"  "oranges67"
它匹配一个水果术语,后跟可选空格和一个或多个数字。您可以向输入向量添加更多的水果以扩展此正则表达式