Ersatz einzelner backslash in R

Habe ich gelesen, einige Fragen und Antworten zu diesem Thema in stack-überlauf, aber noch nicht wissen, wie dieses problem zu lösen:

Mein Ziel ist es, verwandeln die Datei-Verzeichnis-strings in windows explorer, um die form, die erkennbar in R, z.B. C:\Users\Public muss umgewandelt werden C:/Users/Public im Grunde sind die einzelnen back-slash sollte ersetzt werden durch den Schrägstrich. Aber R konnte nicht zum speichern der original-string "C:\Users\Public" weil die \U und \P sind als escape-Zeichen.

dirTransformer <- function(str){
   str.trns <- gsub("\\", "/", str)
   return(str.trns)
   }

str <- "C:\Users\Public"
dirTransformer(str)

> Error: '\U' used without hex digits in character string starting ""C:\U"

Was ich eigentlich schreiben ist eine GUI, wo der end-Effekt ist es, der Benutzer tippt oder fügt das Verzeichnis in ein Eingabefeld ein, drückt einen Knopf und dann wird das Programm verarbeiten automatisch.

Wäre bitte jemand vorschlagen, wie ich dieses problem lösen?

  • "C:\\Users\\Public" - verwenden Sie doppelte backslashes zu bezeichnen Literale umgekehrte Schrägstriche.
  • Gut, dass bedeutet, ich muss Sie manuell ändern Sie das Verzeichnis. Mein Zweck entwickeln Sie eine Funktion, die Verarbeitung und Transformation das Verzeichnis automatisch, ohne manuelle intervention.
  • Sie bereits manuell eingegeben str <- "C:\Users\Public" - warum nicht machen es richtig und geben str <- "C:\\Users\\Public"? Auch, nicht gsub("\\", "/", str), aber gsub("\\", "/", str, fixed=TRUE)
  • Das war nur ein Vereinfachtes Beispiel. Was ich eigentlich schreiben ist eine GUI, wo der Benutzer tippt oder fügt das Verzeichnis in ein Eingabefeld ein, drückt einen Knopf und dann wird das Programm verarbeiten. Die fixed = TRUE ist eine Korrektur. Dank
  • können Sie versuchen tools::normalizePath("C:\\Users\\Public","/",TRUE")
InformationsquelleAutor Vincent | 2016-08-26
Schreibe einen Kommentar