Dies würde mir den Index für alle drei Elemente in string
geben. Aber ich möchte eine genaue Übereinstimmung über das Wort "Apfel" (d. H. Ich möchte nur grep()
Index 1 zurückgeben).So verwenden Sie grep(), um eine exakte Übereinstimmung zu finden
32
A
Antwort
57
Verwenden Wortgrenze \b
die ein zwischen einem Wort entspricht, und Nicht-Wortzeichen,
string = c("apple", "apples", "applez")
grep("\\bapple\\b", string)
[1] 1
OR
Verwenden Anker. ^
Bestätigt, dass wir am Anfang sind. $
Bestätigt, dass wir am Ende sind.
Sie könnten die Regex in einer Variablen speichern und dann wie folgt verwenden.
pat <- "\\bapple\\b"
grep(pat, string)
[1] 1
pat <- "^apple$"
grep(pat, string)
[1] 1
Update:
paste("^",pat,"$", sep="")
[1] "^apple$"
string
[1] "apple" "apple:s" "applez"
pat
[1] "apple"
grep(paste("^",pat,"$", sep=""), string)
[1] 1
+0
'paste0 ("^", pat," $ ")' speichert einige Zeichen der Eingabe über 'Einfügen'. Keine Notwendigkeit für "sep =" "' – Ben
19
Für exakte Anpassung, macht es am meisten Sinn ==
zu verwenden. Darüber hinaus wird dies schneller als grep()
, und ist offensichtlich viel einfacher.
which(string == "apple")
# [1] 1
Verwandte Themen
- 1. C# exakte Übereinstimmung in Zeichenfolge finden
- 2. So verwenden Sie Perls grep, um eine bestimmte Datei zu finden, indem Sie ein Muster in seinem Namen finden
- 3. Exakte Übereinstimmung in regex Charakterklassen
- 4. Wie Dokument mit SOLR Abfrage und exakte Zeichenfolge Übereinstimmung finden
- 5. Exakte Übereinstimmung in elastischen Suchabfrage
- 6. jQuery Autocomplete, um genaue Übereinstimmung zu finden
- 7. exakte Regex-Übereinstimmung für mehrere Gleichheitszeichen
- 8. Exakte String-Übereinstimmung mit Javascript Regex
- 9. Wie funktioniert eine exakte Übereinstimmung auf Google Chrome?
- 10. Nur exakte Übereinstimmungen mit GREP anzeigen
- 11. Verwenden von OpenCV in Android, um eine Bildübereinstimmung zu finden
- 12. JTable Filterung durch eine exakte Übereinstimmung mit einem String
- 13. Finden Sie Klammern mit grep
- 14. OpenCV, um nahe Übereinstimmung für Bilder zu finden
- 15. Shell-Skript grep, um eine Zeichenfolge zu grep
- 16. R: teilweise Übereinstimmung Wörterbuch Begriffe mit grep und tm-Paket
- 17. schnellste Weg, um zwei Saiten für exakte Übereinstimmung in JavaScript zu testen
- 18. Gibt es einen effizienten Weg in LINQ, um genau dann eine contains-Übereinstimmung zu verwenden, wenn es keine exakte Übereinstimmung gibt?
- 19. So verwenden Sie MouseListener, um eine bestimmte Zelle in einem Gitter zu finden
- 20. So verwenden Sie Eingabe, um eine Textdatei in einer Konsolenanwendung zu finden
- 21. SQL Query - Verwenden Sie wie Nur wenn keine exakte Übereinstimmung existiert?
- 22. So bearbeiten/öffnen Sie eine exakte Zelle in der Tabelle
- 23. Wie man Twitter TypeAehead exakte Übereinstimmung Wörter und Phrasen macht
- 24. Verwenden Sie Linq, um sich wiederholende Elemente zu finden
- 25. Verwenden Sie assert_select, um einen Auswahlfeldwert zu finden?
- 26. Regex, um einen Teil der Zeichenfolge zu finden, wenn die Übereinstimmung keine bestimmte Zeichenfolge enthält - PCRE grep
- 27. So funktioniert es mehrere Tabellen in MySQL-Datenbank für exakte Übereinstimmung mit PHP
- 28. Wie kann 'grep' verwendet werden, um eine Zeichenfolge zu finden, außer wenn eine andere Zeichenfolge übereinstimmt?
- 29. Verwenden Sie jQuery, um div von Hintergrundfarbe zu finden
- 30. So verwenden Sie Projektil-finden-Test-Datei
Für genaue Übereinstimmungen, verwenden Sie '==' oder 'match'. – flodel
Wie wäre es mit gsub statt grep? –