字符串以特定模式开头

时间:2015-09-04 18:42:55

标签: regex r string

这是一个非常简单的问题,但我找不到答案。

我想找到以特定模式开头的字符串。 例如如果我有模式 "ABC 我想在下面的向量中提取以ABC开头的字符串 c("ABCGDFGFD","WWABC","AYBC")

此示例的预期结果:TRUE FALSE FALSE

注意:模式的长度并不总是3个字符,如本例所示。它可能更长或更短。

提前致谢!

2 个答案:

答案 0 :(得分:7)

在这种情况下,正则表达式更简单:

grepl("^ABC", x)
[1]  TRUE FALSE FALSE

插入符^特殊字符标识行的开头。无需指定要计数的字符数。

答案 1 :(得分:2)

您可以使用substr

test <- c("ABCGDFGFD","WWABC","AYBC")

substr(test, 1, 3) == 'ABC'

[1]  TRUE FALSE FALSE

如果它需要更长或更短,您可以更改子串中的参数从1和3.对于1和3,它从每个字符串的开头开始,并查找并包括第三个字符。