Ich versuche, Stringr und Rebus zu verwenden, um Muster zu Subset Bundle von Strings zu erstellen. Saiten, die ich gerne etwas gemeinsam haben möchte, beginnen und enden alle mit der gleichen Ziffer. Die Beispieldatenpositionen 15 und 22 zeigen, was ich gerne unterteilen möchte. Diese Zahlen von 1 bis 120R Subset-Strings mit Stringr und Rebus
Hier variieren kann, ist, was ich dachte funktionieren würde (ich weiß, dass ich nicht Aussage mache, dass sie gleich sein, weiß ich nicht, wie man):
library(stringr)
library(rebus)
pattern <- START %R% one_or_more(DGT) %R% one_or_more(ANY_CHAR) %R% one_or_more(DGT) %R% END
str_subset(example, pattern)
Was ist das richtige Muster, das ich suche? Plus für das Starten und das Ende, um genau dasselbe zu sein, weil das es idiotensicher machen sollte.
Daten:
example <- c("10. - 15. JAN 2017", "COMPETITION ANALYSIS",
"WOMEN 7.5 KM SPRINT", "CHIEMGAU ARENA", "SAT 14 JAN 2017", "START TIME:",
"END TIME:", "14:30", "15:47", "Rank Bib Name Nat T", "Loop1 Loop2 Loop3",
"Result Behind Rank", "Time Behind Rank Time Behind Rank Time Behind Rank",
"1 43 MAKARAINEN Kaisa FIN 0 20:51.8 0.0 1", "Cumulative Time 7:15.7 0.0 1 14:32.2 0.0 1 20:51.8 0.0 1",
"Loop Time 7:15.7 0.0 1 7:16.5 0.0 1 6:19.6 0.0 1", "Shooting 0 33.0 +12.0 =41 0 30.0 +8.0 =42 0 1:03.0 +19.0 =48",
"Range Time 55.5 +11.9 =35 51.9 +7.5 37 1:47.4 +18.5 38", "Course Time 6:14.5 0.0 1 6:19.9 0.0 1 6:19.6 0.0 1 18:54.0 0.0 1",
"Penalty Time 5.7 4.7 10.4", "2 64 KOUKALOVA Gabriela CZE 0 21:13.8 +22.0 2",
"Cumulative Time 7:24.6 +8.9 3 14:45.4 +13.2 2 21:13.8 +22.0 2"
)
Lassen Sie mich einige Strings zu meinem Beispiel aktualisieren, die mir Probleme bereiten. Wie Sie sehen können, gibt es einige seltsame Daten/Zeiten. Wird damit gehen, da es auch richtige abholen wird. – Viitama
Sie können ein einzelnes leeres '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 'nach der ersten Zifferneinfanggruppe einführen, um Zeitmuster auszuschließen (da in letzterer die ersten Ziffern von einem Doppelpunkt gefolgt werden)' (^) (\\ d +)) (\\ s) (. +) (\\ d +) ($) "' –