我希望得到ap
字符串ASDAS ap ASDASD ap AS
中出现的两个时间的索引。我试过了
regexpr("ap", "ASDAS ap ASDASD ap AS")[1]
但它只给了我第一场比赛的索引。如何找到ap
匹配的两次索引?
答案 0 :(得分:1)
使用gregexpr
:
gregexpr
返回与text
相同长度的列表,其中每个元素的格式与regexpr
的返回值相同,除了起始位置每个(不相交的)匹配都是。
请参阅下面的示例代码:
> gregexpr("ap", "ASDAS ap ASDASD ap AS")[1]
[[1]]
[1] 7 17
attr(,"match.length")
[1] 2 2
attr(,"useBytes")
[1] TRUE
答案 1 :(得分:1)
我们可以使用str_locate
stringr
library(stringr)
str_locate_all("ASDAS ap ASDASD ap AS", "ap")
#[[1]]
# start end
#[1,] 7 8
#[2,] 17 18