2016-06-23 7 views
2

Gibt es eine stringr entspricht der Funktion grep der Basis R?stringr äquivalent zu grep

Ich möchte den Index der übereinstimmenden Zeichenfolge haben. Beispiel:

grep("F|Y", LETTERS) 
[1] 6 25 

Mit stringr meine Abhilfe which verwenden würde wie folgt:

which(str_detect(LETTERS, "F|Y")) 
[1] 6 25 
+0

'str_locate_all'? – 989

+0

Ich benutze nicht stringr, aber sehen Sie, wenn 'str_locate' ist, was Sie brauchen. –

+1

'str_locate' gibt eine Matrix von Start-/Endspalten zurück. Ich denke, dass das OP nach dem Index sucht, ohne "which" – akrun

Antwort

1

Sorry für die späte Antwort, aber es kann für zukünftige Besucher nützlich sein:

Jetzt können Sie str_which(string, pattern) verwenden, die ein Wrapper um grep(pattern, x) um which(str_detect(x, pattern)) und gleichwertig ist.

str_which(LETTERS, "F|Y") 
[1] 6 25 

Weitere Details in: http://stringr.tidyverse.org/reference/str_subset.html

1

Da der Manpages für stringr sind ganz klar und eindeutig, es gibt keinen Zweifel, dass keine der Funktionen geben nur die Indizes.

+0

wäre nützlich, wenn es so wäre. – RobinLovelace

+0

@RobinLovelace konnte nicht schaden, um dem Betreuer eine E-Mail zu senden, die diese Funktion anfordert :-) –