Edit 1: Fehler behoben (zwei Schrägstriche erforderlich, um einen umgekehrten Schrägstrich in einem String erstellen): in
s <- '\\"------------080209060700030309080805\\"'
s
gsub('\\"', "", s, fixed = TRUE)
Ergebnisse
> s <- '\\"------------080209060700030309080805\\"'
> s
[1] "\\\"------------080209060700030309080805\\\""
> gsub('\\"', "", s, fixed = TRUE)
[1] "------------080209060700030309080805"
Bitte beachten Sie, dass ein einzelner Schrägstrich in R das ist Escape-Code, der NICHT Teil der Zeichenfolge ist:
> charToRaw('\\"')
[1] 5c 22
> charToRaw('\"')
[1] 22
Daher müssen Sie zwei umgekehrte Schrägstriche in der Zeichenfolge in Anführungszeichen verwenden, um intern einen umgekehrten Schrägstrich zu erstellen. Wenn Sie diese Zeichenfolge gedruckt wird der Backslash wieder was verwirrend aussieht:
> print('\\"')
[1] "\\\""
Wenn Sie die unescaped Inhalt der Zeichenkette verwenden cat
statt print
drucken möchten:
> cat('\\"')
\"
Weitere siehe Hilfe in R: ?"'"
:
Zeichenkonstanten
Einfache und doppelte Anführungszeichen begrenzen Zeichenkonstanten. Sie können synonym verwendet werden, aber doppelte Anführungszeichen sind bevorzugt (und Zeichen Konstanten werden mit doppelten Anführungszeichen gedruckt), so dass einfache Anführungszeichen normalerweise nur zum Abgrenzen von Zeichen Konstanten mit doppelten Anführungszeichen verwendet werden.
Mit Backslash wird eine Escape-Sequenz innerhalb des Zeichens Konstanten gestartet. Das Auslassen eines Zeichens, das nicht in der folgenden Tabelle enthalten ist, ist ein Fehler.
Einfache Anführungszeichen müssen durch Backslash in einfach zitierten Strings und doppelten Anführungszeichen in Strings mit doppelten Anführungszeichen umgangen werden.
\ n \ r Wagenrücklauf \ t tab \ b Backspace newline \ a alert (Glocke) \ vertikale Lasche Vorschub \ v f Form \ Backslash \ \ 'ASCII Apostroph' \ "ASCII Anführungszeichen" `ASCII Grab Akzent (Backtick) `
Zeichen mit vorgegebenen oktalen Code (1, 2 oder 3 Ziffern) \ xnn Zeichen mit gegebenem Hex - Code (1 oder 2 Hexadezimalziffern) \ unnnn Unicode - Zeichen mit angegebenen Code (1--4 hex-Ziffern) \ Unnnnnnnn Unicode-Zeichen mit bestimmten Code (1--8 Hexziffern)
' "------------ 080209060700030309080805 \"' als Ergebnis sieht aus wie ein Tippfehler: Do y Möchten Sie wirklich, dass der letzte Backslash Teil Ihres Ergebnisses ist? Bitte bearbeiten Sie Ihre Antwort ... –
Bitte zeigen Sie uns im Klartext, was die Eingabe und Ausgabe sein soll. Mach dir keine Sorgen über die Flucht in R. –
Die Eingabe hier ist genau sieht so aus: "\" ------------ 080209060700030309080805 \ "", das ist eigentlich von einer E-Mail-Spam/ham Daten aus einem Data Science Buch. Und ich möchte gsub Funktion verwenden, um nur den "------------ 080209060700030309080805" Teil zu ergreifen, was bedeutet, dass ich den Schrägstrich hier loswerden möchte, aber derzeit scheint es, dass ich nicht habe ein guter Weg, dies zu tun. – tql66