2016-03-21 11 views
1

Es kann nicht scheinen, den Backslash (\) von einer Zeichenfolge loszuwerden. Lesen Sie Tonnen von verschiedenen Antworten auf diese Frage, aber keiner von ihnen scheint für mich zu arbeiten. Betrachten wir folgendes Beispiel (die im folgenden Versuche werden aus verschiedenen Antworten auf ähnliche Frage in Stackoverflow genommen):Ich kann nicht Backslash in R

temp = "35:12:34\"}}}\"}" 
gsub("\\","",temp) 

Fehler in gsub ("\", "", temp): ungültigen regulären Ausdruck '\', Grund 'Backslash'

gsub("\\","",temp,fixed=T) 

[1] "35:12:34 \"}}} \ "}"

gsub("\\\\","",temp,fixed=T) 

[1] "35:12:34 \"}}} \ "}"

gsub("([\\])","",temp) 

[1] "35: 12: 34 \"}}} \ "}"

gsub("([\\])","",temp,fixed=T) 

[1] "35:12:34 \"}}} \ "}"

Würde mich freuen, diesen Backslash loszuwerden.

+6

Es ist nicht wirklich da. Überprüfe 'cat (temp)'. Erklärt in '? Quotes' –

+0

Do 'cat (temp)' um zu sehen, was Ihre Zeichenfolge _really_ enthält. –

+0

Siehe http://stackoverflow.com/a/25466734/1000343 –

Antwort

1

verwenden

cat(gsub("\\\"","",temp)) 

Es wird die gewünschte Ausgabe drucken, wenn Sie es als ein Objekt Verwendung

text <- capture.output(cat(gsub("\\\"","",temp))) 

Aber während text Druck speichern möchten, werden die Zitate wieder entwertet werden. aber Sie können die Anzahl der Zeichen von nchar(text) überprüfen

> text <- capture.output(cat(gsub("\\\"","\"",temp))) 
> text 
[1] "35:12:34\"}}}\"}" 
> cat(text) 
35:12:34"}}}"} 
> nchar(text) 
[1] 14