regex - 如何防止regmatchs丢弃非匹配项?

标签 regex r

我想捕获第一场比赛,并返回 NA如果没有匹配。

regexpr("a+", c("abc", "def", "cba a", "aa"), perl=TRUE)
# [1]  1 -1  3  1
# attr(,"match.length")
# [1]  1 -1  1  2

x <- c("abc", "def", "cba a", "aa")
m <- regexpr("a+", x, perl=TRUE)
regmatches(x, m)
# [1]  "a"  "a"  "aa"

所以我期望“a”,NA,“a”,“aa”

最佳答案

住在一起 regexpr :

r <- regexpr("a+", x)
out <- rep(NA,length(x))
out[r!=-1] <- regmatches(x, r)
out
#[1] "a"  NA   "a"  "aa"

关于regex - 如何防止regmatchs丢弃非匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19171715/

相关文章:

r - 非对等加入,然后分组汇总

r - 跨不同 ggplot2 map 的一致 alpha 比例

JAVAFx TextField 验证十进制值

javascript - 请翻译这段 JavaScript 乱码?

php - 将字符串转换为json

r - 使用变量名通过 mutate 定义列内容

r - 有没有一种方法可以在R的plot.zoo函数中省略时间间隔?

regex - Golang 替换所有换行符

java - 正则表达式 for/someChars1@someChars2BOT

将未计算的参数传递给其他函数的 R 函数