标签: r regex
我有诸如“ 76.1”和“ 76.1_0”之类的字符串。我想删除数据框中包含“。”的所有元素。或“ _”。
我尝试过
df <- df[!grepl("_", "."),]
这不起作用。我知道这是我的正则表达式,但是我不确定如何继续。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:2)
给出示例向量
(x <- c("76.1", "76.1_0", "1", "a")) # [1] "76.1" "76.1_0" "1" "a"
例如,
(x <- x[!grepl("\\.|_", x)]) # [1] "1" "a"
在几个方面我使用grepl的地方不同
grepl
1)第一个参数pattern必须是字符串("\\.|_"),而不是您尝试的("_", ".")多个参数。参见?grepl。
pattern
"\\.|_"
"_", "."
?grepl
2)对于“组合”两个符号,一个需要使用|,它代表OR。
|
3).是一个特殊字符,必须与\\一起escaped。
.
\\
4)您没有提供第二个参数x;即应在何处进行更改。
x