【发布时间】:2018-09-02 19:09:30
【问题描述】:
我有一个字符串s="CCCGTGCC" 和一个子字符串ss="CC"。我想获取s 中所有以字符串ss 开头的索引。在我的示例中,我想取回数组 c(1,2,6)。
有没有实现这个的字符串函数?请注意,我的字符串格式为 "CCCGTGCC",而不是 c("C","C","C","G","T","G","C","C")。
grep 仅返回字符串中是否存在匹配项,而不返回字符串中匹配项的索引,除非我遗漏了某些内容。
【问题讨论】:
-
你的意思是数组 [1, 2, 7] (实际上是 R 中的一个向量)?
-
gregexpr是您正在寻找的函数,但是 reg exp 引擎“吞下”了标记,因此“CCC”被算作一个“CC”和一个“C”,虽然有些聪明使用正则表达式可能会解决这个问题。 -
关于您的通知的通知,代码: substring("abcde",1:5,1:5) 将字符串 "abcde" 分解为字符向量并粘贴 ((substring("abcde",1: 5,1:5) ),collapse="") 做相反的事情