错误:在另一个特定字符串中查找字符串[R]

错误:在另一个特定字符串中查找字符串[R],r,string,contains,R,String,Contains,我有一连串的信: M <- "ABHJKFRTUIOKOPJNHGBQETYUODIOFGHJSDFKHLKJIOEQBALKFJPA" S和M都是类字符 也就是说,如果找到字符串,有没有办法计算出S在M中开始和停止的位置,并记录这两个位置 我相信这是显而易见的 > M = "ABHJKFRTUIOKOPJNHGBQETYUODIOFGHJSDFKHLKJIOEQBALKFJPA" > S = "FGHJ" > grepl(S, M) [1] TRUE > lib

我有一连串的信:

M <- "ABHJKFRTUIOKOPJNHGBQETYUODIOFGHJSDFKHLKJIOEQBALKFJPA"
S和M都是类字符

也就是说,如果找到字符串,有没有办法计算出S在M中开始和停止的位置,并记录这两个位置

我相信这是显而易见的

> M = "ABHJKFRTUIOKOPJNHGBQETYUODIOFGHJSDFKHLKJIOEQBALKFJPA"
> S = "FGHJ"
> grepl(S, M)
[1] TRUE
> library(stringr)
> str_locate(M, S)
     start end
[1,]    29  32

这有用吗?您的示例不可复制…

谢谢@jogo-已编辑。您没有向我们提供
S
的实际值:您的
S
变量包含多个项目。尝试
length(S)
,您将看到。以上三行不会产生错误。请更新我的评论。当单独使用grepl(S,M)时,它确实有效,但当试图强制将其命名为“find”时,它给了我同样的结果error@joeblow--对我有用。我同意上面大卫的观点——你没有给我们展示变量的实际值。
found <- ifelse(grepl(S, M), "Found","Not Found")
In grepl(S, M) :
  argument 'pattern' has length > 1 and only the first element will be used
> M = "ABHJKFRTUIOKOPJNHGBQETYUODIOFGHJSDFKHLKJIOEQBALKFJPA"
> S = "FGHJ"
> grepl(S, M)
[1] TRUE
> library(stringr)
> str_locate(M, S)
     start end
[1,]    29  32