I am trying to use grep
to test whether a vector of strings are present in an another vector or not, and to output the values that are present (the matching patterns).
I have a data frame like this:
FirstName Letter
Alex A1
Alex A6
Alex A7
Bob A1
Chris A9
Chris A6
I have a vector of strings patterns to be found in the "Letter" columns, for example: c("A1", "A9", "A6")
.
I would like to check whether the any of the strings in the pattern vector is present in the "Letter" column. If they are, I would like the output of unique values.
The problem is, I don't know how to use grep
with multiple patterns. I tried:
matches <- unique (
grep("A1| A9 | A6", myfile$Letter, value=TRUE, fixed=TRUE)
)
But it gives me 0 matches which is not true, any suggestions?
fixed=TRUE
cause you pattern is true regular expression. – Navigatematch
or%in%
or even==
is the only correct way to compare exact matches. regex is very dangerous for such a task and can lead to unexpected results. – Chervil