简化,假设:
tst <- c("DG-c", "DG-cl")
当我使用长度(grep())用于&#34; DG-c&#34;和&#34; DG-cl&#34;我两次都应该得到1次吗?
length(grep("DG-c", tst))
[1] 2
length(grep("DG-cl", tst))
[1] 1
为什么它似乎假设模式中的所有字符都匹配x然后它是匹配的?我怎么能改变这个?
谢谢
答案 0 :(得分:1)
要使用grep
获得期望的结果,请考虑使用^
$
锚点进行精确匹配。
^
用于匹配字符串的开头。
$
用于匹配字符串的结尾。
tst <- c("DG-c", "DG-cl")
length(grep("^DG-c$", tst))
#> [1] 1
length(grep("^DG-cl$", tst))
#> [1] 1
由reprex package(v0.3.0)于2020-08-09创建
答案 1 :(得分:0)
grep("DG-c", tst)
[1] 1 2
length(grep("DG-c", tst))
[1] 2
length(grep("DG-c$", tst))
[1] 1