R字符串按关键字出现的顺序提取关键字

时间:2018-07-13 09:07:10

标签: r extract stringr

我已经进行了一些搜索,但没有找到解决方案,欢迎使用其他软件包/方法。 我正在从句子中提取一系列职位,以便根据人们的传记来建立人们的职业生涯时间表。我正在使用stringr程序包提取这些职位,但问题是它们的出现顺序不是它们在句子中出现的顺序而是在我的列表中出现的顺序。这是下面的简化示例:

export function registerUser(data){
const request = axios({
    method: "POST",
    url: `${REGISTER}${API_KEY}`,
    data: {
        email: data.email,
        password: data.password,
    },
    headers:{
        "Content-Type":"application/json"
    }
}).then(response => response.data)

return {
    type: "REGISTER_USER",
    payload: request,
}

此输出为:

sentence <- "He was a chief executive officer, chairman of the board and 
president"
Job <- list("chairman of the board","chief executive officer", "president")
str_extract_all(sentence,unlist(Jobb))

理想情况下,这些职位按出现的顺序排列(即董事长和首席执行官调换职位),我不能只是更改职位清单的顺序,因为每个句子都会有所不同。 预先感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您可以将可能的标题作为一个正则表达式提供,而不是多个不同的正则表达式。将它们与正则表达式“或” |连接:

> str_extract_all(sentence, paste0(unlist(Job), collapse = "|"))
[[1]]
[1] "chief executive officer" "chairman of the board"   "president"