检索指定索引之前的字符的第一个实例

时间:2015-11-16 17:28:41

标签: r string text-processing

我想检索R中指定关键字之前的单词。例如,如果我传入:

The Red Dog

和"狗"是指定的关键字,我希望能够检索单词" Red"并将其保存到矢量。是否有可以执行此功能的功能已存在?我没有运气看过stringr包。

1 个答案:

答案 0 :(得分:1)

这是一种方式:

prior_word <- function(x, w, if_first = "[The First Word]"){
    xs = strsplit(x, " ")[[1]]
    c(if_first, xs)[ match(w, xs) ]
}

示例:

prior_word("The Red Red Dog", "Red")
# "The"

因此只识别第一个“红色”实例。

prior_word("The Red Dog", c("The","Red","Dog", "Pirate"))
# "[The First Word]" "The"              "Red"              NA

如果单词是第一个,则返回一些默认值;如果找不到该词,NA