Ich versuche, den Teil der Zeichenfolge vor dem ersten Backslash zu extrahieren, aber ich kann nicht scheinen, damit es richtig funktioniert.R: strsplit auf Backslash ()
Ich habe mehrere Möglichkeiten ausprobiert, um es zu arbeiten, basierend auf der Handbuchseite für strsplit und nach der Online-Suche.
In meiner aktuellen Situation sind die Saiten in einem Datenrahmen, die ich aus einer Datenbankverbindung bekommen, aber ich kann die Situation mit dem folgenden vereinfachen:
> strsplit("BLAAT1\022E:\\BLAAT2\\BLAAT3","\\",fixed=TRUE) [[1]] [1] "BLAAT1\022E:" "BLAAT2" "BLAAT3" > strsplit("BLAAT1\022E:\\BLAAT2\\BLAAT3","\\",fixed=FALSE) Error in strsplit("BLAAT1\022E:\\BLAAT2\\BLAAT3", "\\", fixed = FALSE) : invalid regular expression '\', reason 'Trailing backslash' > strsplit("BLAAT1\022E:\\BLAAT2\\BLAAT3","\\\\",fixed=TRUE) [[1]] [1] "BLAAT1\022E:\\BLAAT2\\BLAAT3" > strsplit("BLAAT1\022E:\\BLAAT2\\BLAAT3","\\\\",fixed=FALSE) [[1]] [1] "BLAAT1\022E:" "BLAAT2" "BLAAT3"
Die erwartete Ausgabe auch auf dem \ zwischen BLAAT1 aufgeteilt würde und 022E:
Vielen Dank im Voraus
Haben Sie 4 Elemente wie erwartet ausgegeben werden sollen oder nur 'BLAAT' und' 02E: \\ Blatt2 \\ BLAAT3' als das zweite Split. BTW, '\ 022' es ist ein Unicode-Symbol – akrun
Sie haben hier ASCII-Zeichen, tut' strsplit ("BLAAT1 \ 022E: \\ BLAAT2 \\ BLAAT3", "[[::]:") "gibt Ihnen, was Sie wollen? –
'" \ 022 "' ist ein Zeichen. – BenBarnes