维护从R中的字符串中提取模式的顺序

时间:2019-03-13 17:16:59

标签: r regex

我正在尝试从字符串中提取模式,但是难以维持顺序。考虑:

errno

此输出是一个列表;是否可以返回保持原始顺序的矢量,即字符串中的foreach ($get_student->result_array() as $row) { $select_student[$row['student_number']] = $row['student_name']; echo form_checkbox($select_student,$student_number,FALSE); } 位于library(stringr) string <- "A A A A C A B A" extract <- c("B","C") str_extract_all(string,extract) [[1]] [1] "B" [[2]] [1] "C" 之前?我已经尝试过"C"的许多选项,但是没有运气。谢谢。

2 个答案:

答案 0 :(得分:2)

尝试使用以下正则表达式:

str_extract_all(string,"[BC]")
## [[1]]
## [1] "C" "B"

或更笼统地说:

str_extract_all(string, paste(extract, collapse = "|"))

答案 1 :(得分:0)

string <- "A A A A C A B A B"
extract <- c("B","C")

inds = unlist(sapply(extract, function(p){
    as.numeric(gregexpr(p, string)[[1]])
}))
sort(inds[inds > 0])
# C B1 B2 
# 9 13 17