R:当 x 在 y 中明确显示时,grep 返回 0(我没有检查空格)

标签 r string mismatch

我显然错过了一些东西
当术语 I am ‘greping’ 明显在被 ‘grepped’ 的字符串中时,grep 返回 0:

在这个例子中,我检查字符串 x 是否在字符串 y 中:

x
[1] "c.3963+1G>T"

y
[1] "c.3963+1G>T"

grep(x, y)
integer(0)

x == y
[1] TRUE

这些字符串是由我在向量上所做的一系列 strsplit 组成的。即使 x 显然在 y 中,人们也会看到 grep 返回 0 的这种行为的原因是什么(它们甚至被认为与本例中的等效)?

最佳答案

详细说明akrun的答案。 grep 的第一个参数是一种模式(在没有 fixed = TRUE 的情况下)。在您的示例中,x当用作模式时,包含 2 个具有特殊含义的字符。 .意思是“匹配任何东西”。 +表示“匹配前面的模式一次或多次”。所以这些字符不会直接与 y 进行比较。在 grep .
==正在测试字符串的等效性,这是不同的。

关于R:当 x 在 y 中明确显示时,grep 返回 0(我没有检查空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42709113/

相关文章:

r - ggplot2 - 将数字 Axis 标题更改为字符串向量

url - Google OAuth 2.0 redirect_uri_mismatch错误

R - 通过匹配名称将 lapply 输出与数据帧列表绑定(bind)

R错误allocMatrix

r - 如何获取data.table分组中当前组的长度?

r - 如何根据R中的列相交数据框

正则表达式删除R中的前导零,除非最终(或唯一)字符为零

java - 使用 split ("|"通过管道符号拆分 Java 字符串)

plugins - Jenkins 插件管理器 : Digest mismatch error

java - 为什么用户输入的 double 不接受与常规 double 相同的参数?