2017-01-06 4 views
0

両方のインデックスを取得したいapが文字列ASDAS ap ASDASD ap ASに表示されます。試しましたregexprを使用して一致する文字列の複数の不一致のインデックスを取得するにはどうすればよいですか?

regexpr("ap", "ASDAS ap ASDASD ap AS")[1] 

しかし、それは私に最初のマッチのインデックスを与えるだけです。 apの一致が検出された両方の時間のインデックスを取得するにはどうすればよいですか?

+1

からstr_locateを使用することができます。 –

答えて

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

我々は `gregexpr`を使用stringr

library(stringr) 
str_locate_all("ASDAS ap ASDASD ap AS", "ap") 
#[[1]] 
#  start end 
#[1,]  7 8 
#[2,] 17 18 
関連する問題