Backslash ersetzten

Andre

The Shocker
Guten Tag zusammen

es soll ein Dateipfad angegeben werden, also z.b. : c:\test\bla.txt der dann in einem string ( dateipfad ) gespeichert wird

Nur möchte ich jetzt alle einzelnen " \ " mit 2 " \ \" ersetzen

ich hab das schon mit :
Code:
 dateipfad.replace("\\", "\\\\");
probiert, aber er gibt trotzdem nur 1 backslash an
hab auch schon versucht anstelle es mit 2 backslash zu ersetzen mit z.b. q .. aber dies macht er auch nicht

ich bedanke mich schonmal im vorraus
 
Dein Beispielscode funktioniert bei mir einwandfrei und der String enthält danach doppelte Backslashes, also c:\\test\\bla.txt

Wozu möchtest du das überhaupt machen?

Edit:
Ist dir eigentlich bekannt, dass Strings eine immutable class sind? Die replace-Methode verändert den String nicht, sondern liefert einen neuen als Rückgabewert
Java:
dateipfad = dateipfad.replace("\\", "\\\\");
 
Zuletzt bearbeitet:
Hallo,

vielleicht liegt es daran:
Code:
String strPfadbearbeitet = dateipfad.replace("\\", "\\\\");
oder
Code:
dateipfad = dateipfad.replace("\\", "\\\\");

Die Methode .replace() gibt einen String zurück. Es wird aber nicht der String (in dem Fall "dateipfad") automatisch überschrieben. Du mußt dem zurückgegebenen String einer Variablen zuweisen.

MfG
hansmueller
 
Hallo,

der replace sollte funktionieren. Poste mal ein bischen mehr drumherum.
Replace gibt den veränderten String zurück und verändert nicht das Objekt auf dem die Methode ausgeführt wird z.B.
 
Klappt perfekt *.* danke leute :D

lösung:
Code:
dateipfad = dateipfad.replace("\\", "\\\\");

ich brauche das, weil ich dem user die möglichkeit geben möchte den pfad einer datei selbst anzugegen ohne es im code zu ändern.. die datei wird später dann eingelesen und bearbeitet ^^
 
@hansmueller: jo danke für den link =) ist garnicht mal so schlecht ... aber ich hätte vielleicht erwähnen solln das dass nen Consolen Prog. ist
 
Hallo.

Auch wenn es ein "Consolen Prog" ist kannst du ja trotzdem mit dem FileChooser arbeiten. Du musst halt eine Abfrage machen oder irgendwas in der Art auf dessen Aktion dann der FileChooser ausgeführt wird (zB mit Shortcuts, oder einfache Einlesung von Zeichen).

MfG Nadriel
 
Hallo.

Auch wenn es ein "Consolen Prog" ist kannst du ja trotzdem mit dem FileChooser arbeiten. Du musst halt eine Abfrage machen oder irgendwas in der Art auf dessen Aktion dann der FileChooser ausgeführt wird (zB mit Shortcuts, oder einfache Einlesung von Zeichen).

MfG Nadriel

Nein, geht zum Beispiel nicht wenn das Programm auf einem Linux läuft ,der keinen X-Server hat ;)

Gruß
BK
 
Zurück