regex - 子集不是基于完全匹​​配,而是基于 R 中的部分

标签 regex r substring

这是这里的后续问题:
Subsetting a string based on pre- and suffix

当你有这个命令时:

    d <- subset(b, b$X %in% test)  

此命令查找 b$X 中的所有内容完全匹配测试。我怎样才能操纵它来说明 b$X 中的值已经足够了包含 test ?
IE。如果 b$X有一个值 "something"test"thing" .那么我会认为这是一场比赛。

重要更新!测试有 512 个值,而不仅仅是示例中的 1。

最佳答案

您可以更换 %in%grepl :

# examples
x <- c("thing", "something", "some", "else")
test <- c("thing", "some")

# exact match
x %in% test
# [1]  TRUE FALSE  TRUE FALSE

# substring match (regex)
pattern <- paste(test, collapse = "|") # create regex pattern
grepl(pattern, x)
# [1]  TRUE  TRUE  TRUE FALSE

您的任务的整个命令:
d <- subset(b, grepl(paste(test, collapse= "|"), b$X))
"|"表示逻辑或正则表达式。

关于regex - 子集不是基于完全匹​​配,而是基于 R 中的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21408410/

相关文章:

java - Java 中的正则表达式 - 提取某些符号之间的字符串

javascript - 检查文本是否以字符开头,后跟数字

java - 使用正则表达式,如何获取下面的代码名称和长度值?

regex - 测试参数是否为 5 位整数

ruby-on-rails - Rails - 使用 [ 和 ] 从字符串中提取子字符串

r - 更改 Rstudio 中 kable 表的默认文本颜色

R plotly 填充颜色、字体和图例位置

r - 如何在R中使用glmnet计算套索回归的R平方值

java - 如何正确使用子串

c - wcstok 导致段错误