使用R中的grepl()匹配和连接字符

cod*_*art 2 r concatenation character match

我想使用grepl()函数来确定字符向量是否与模式匹配,并基于该模式连接向量中的字符.例如:

vec <- c("a","b","a","c","a","c","a","b") 
grepl("[a]", vec)
TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

我希望将TRUE之后的所有值绑定到一起,直到下一个为TRUE,这样它的结果将是一个看起来像这样的向量:

"ab", "ac", "ac", "ab"
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何想法.

Jos*_*ien 5

如果你不坚持grepl():

VEC <- paste(vec, collapse="")                # Collapse into single string ...
strsplit(VEC, "(?<=.)(?=a)", perl=TRUE)[[1]]  # ... then split it before each 'a'
# [1] "ab" "ac" "ac" "ab"
Run Code Online (Sandbox Code Playgroud)