我有一个数据框,我想在其中删除具有特定模式的所有行。我对编译正则表达式感到困惑。
数据:
structure(list(id = 1:5, email = c("1@gmail.com", "2@gmail.com",
"3@gmail.com", "4@pattern.com", "5@pattern.com")), class = "data.frame", row.names = c(NA,
-5L))
我想做的是:
data <- data %>%
filter(email != ".+@pattern.com")
但是我的正则表达式有问题。为此类模式编写正则表达式的最有效方法是什么?我的示例案例的正确正则表达式模式是什么?
最佳答案
这使用 grepl
执行正则表达式比较
libary(dplyr)
data %>%
filter(!grepl("@pattern.com$", email))
id email
1 1 1@gmail.com
2 2 2@gmail.com
3 3 3@gmail.com
关于r - 如何在 R 中删除具有模式的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65668623/