这是一个非常简单的问题,但我找不到答案。
我想找到以特定模式开头的字符串。
例如如果我有模式
"ABC
我想在下面的向量中提取以ABC
开头的字符串
c("ABCGDFGFD","WWABC","AYBC")
此示例的预期结果:TRUE FALSE FALSE
注意:模式的长度并不总是3个字符,如本例所示。它可能更长或更短。
提前致谢!
答案 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,它从每个字符串的开头开始,并查找并包括第三个字符。