我正在尝试使用grep
来测试一个字符串向量是否存在于另一个向量中,并输出那些存在的值(匹配的模式)。
我有一个类似这样的数据框:
FirstName Letter
Alex A1
Alex A6
Alex A7
Bob A1
Chris A9
Chris A6
我有一个字符串向量patterns,其中包含需要在“Letter”列中查找的字符串,例如:c("A1", "A9", "A6")
。
我想检查模式向量中的任何字符串是否出现在“Letter”列中。如果是,则希望输出唯一值。
问题是,我不知道如何使用grep
来匹配多个模式。我尝试过:
matches <- unique (
grep("A1| A9 | A6", myfile$Letter, value=TRUE, fixed=TRUE)
)
但是它给了我0个匹配,这是不正确的,有什么建议吗?
fixed=TRUE
。 - Marekmatch
、%in%
甚至==
是比较精准匹配的唯一正确方式。正则表达式在这种任务中非常危险,可能导致意外结果。 - David Arenburg