r - 如何在 R 中删除带有模式的行?
问题描述
我有一个数据框,我想删除所有具有特定模式的行。我对编译正则表达式感到困惑。
数据:
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
推荐阅读
- javascript - AngularJS在传入参数后计算单选按钮和未定义的值
- python-3.x - 使用事件解析巨大的 XML 文件
- javascript - Windows 脚本宿主可以运行 .js 文件吗
- python - 如何将特定行(基于列值)从多个 csv 文件复制到新的“主文件”?
- python - 分配前引用的局部变量“user_form”
- python - 如何将两个脚本与模型中的对象匹配
- amazon-web-services - LightGBM 在 AWS 上非常慢,但不是在本地
- javascript - 如何每次通过 Java、JavaScript 上的方法从 SQL Server 检索数据
- java - WebDriver 未检测到输入文本框,抛出 ElementNotInteractableException:元素不可交互
- node.js - 在黄瓜 js 中完成执行后,角括号参数不会在黄瓜功能文件中被替换