r - 在 R 中使用 grepl() 匹配和连接字符

标签 r character concatenation match

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

vec <- c("a","b","a","c","a","c","a","b") 
grepl("[a]", vec)
TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE

我希望在下一个 TRUE 之前将 TRUE 之后的所有值绑定(bind)在一起,这样其结果将是一个看起来像这样的向量:

"ab", "ac", "ac", "ab"

感谢任何想法。

最佳答案

如果您不喜欢 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"

关于r - 在 R 中使用 grepl() 匹配和连接字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15642373/

相关文章:

R 函数 : passing arguments with ellipsis

r - 从R中的字符中提取持续时间

javascript - 在 jquery 对象列表上同时使用 array.concat() 和 .slice() 时丢失范围

php - 不带括号的字符串连接中的算术运算会导致奇怪的结果

string - 如何将一个字符串附加到另一个字符串?

r - 为什么 R GBM 模型预测与模型拟合不匹配?

r - 如何在 R 中安装 topicmodels 包?

r - 计算 R 中来自不同数据帧的两列之间的相关性

c - 数组函数从数组中删除第一个字符

string - 将字符视为变量