Auszug numerischen Teil des strings von gemischten zahlen und Zeichen in R
Ich habe eine Menge von Zeichenketten, von denen jede in der Regel das folgende format: Ab_Cd-001234.txt
Ich möchte, um es zu ersetzen mit 001234
. Wie kann ich es erreichen, in R?
InformationsquelleAutor der Frage user288609 | 2013-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit
gsub
odersub
Sie dies tun können :können Sie
regexpr
mitregmatches
BEARBEITEN die 2 Methoden sind vektorisiert und arbeitet für einen Vektor von Zeichenketten.
InformationsquelleAutor der Antwort agstudy
Den stringr Paket hat viele praktische shortcuts für diese Art von Arbeit:
Zu erklären, die regexp ein wenig:
[[:digit:]]
eine Zahl von 0 bis 9+
bedeutet, dass das vorhergehende Element (in diesem Fall eine Ziffer) wird abgestimmt ein-oder mehrmalsDiese Seite ist auch sehr nützlich für diese Art von string-Verarbeitung: http://en.wikibooks.org/wiki/R_Programming/Text_Processing
InformationsquelleAutor der Antwort Ben
Könnten Sie
genXtract
von der qdap-Paket. Dies dauert eine Links-Zeichenfolge und eine Rechte Zeichenkette und extrahiert die Elemente zwischen.Obwohl ich viel lieber agstudy Antwort.
BEARBEITEN Ausweitung Antwort auf übereinstimmung agstudy:
InformationsquelleAutor der Antwort Tyler Rinker
gsub Entfernen Präfix und suffix:
tools-Paket Verwenden
file_path_sans_ext
von tools zu entfernen-Erweiterung und verwenden Sie dannsub
zu entfernen Präfix:strapplyc Extrahieren der Ziffern nach - und vor-Punkt. Sehen gsubfn Startseite für mehr info:
Beachten Sie, dass, wenn es gewünscht wird, um wieder eine numerische könnten wir
strapply
eher alsstrapplyc
wie diese:InformationsquelleAutor der Antwort G. Grothendieck