Slash durch zwei Backslash ersetzen

DieKey

Mitglied
Hallo Leute!

Wie kann einen Slash durch Backslashes ersetzen?
Ich meine, wie man einen Slash durch einen Backslash ersetzen kann, weiß ich. Nur durch zwei. Das Brauche ich für eine Pfadangabe, mit der Java dann hinterher arbeiten kann.

LG

DieKey
 
Hmm ?
Wenn du weißt, wie du aus / \ machst, dann weißt, dann weißt du auch, wie das umgedreht funktioniert.
replaceAll() verwenden und dann die Argumente vertauschen. Ich gehe mal davon aus, dass du da einen String hast.
 
Richtig! Einen String. Das Problem ist aber doch:
Java erkennt einen backslash erst daran, wenn zwei hinterinander geschrieben werden. Also sprich: \ für Java --> \\! Schreibe ich bei Replace All also zwei Backslash, ersetzt er den Slash durch eins. Schreibe ich 4 gibt er ne Exception.

Wie kann man das lösen.
 
Vielen Dank, das hatte ich in der Eile vergessen zu erwähnen 🙂

du hast ja richtigerweise replace geschrieben ... njans hat den fehler gemacht und replaceAll geschrieben ...

[EDIT]@TO
nein ... replace ersetz auch "alles" ...
wie wäre es wenn du mal die API-doc lesen würdest ? da steht sowas alles drin
[JAPI]String[/JAPI]
API-DOC hat gesagt.:
java.lang.String.replace(char, char)
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar
bzw
API-DOC hat gesagt.:
java.lang.String.replace(CharSequence, CharSequence)
Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence
[/EDIT]
 
Zuletzt bearbeitet:
Wert kann denn so gut englisch ;P :S

Nein OK!

Danke!!!!

EDIT.

Und wo liegt der unterschied zwischen replaceall und replace???
 
Zuletzt bearbeitet:
Danke

Und wo liegt der unterschied zwischen replaceall und replace???

hatte ich bereits erwähnt

String.replace(char, char) und String.replace(CharSequence, CharSequence) erwarten lediglich genau das zeichen *bzw die zeichenkette* die ersetzt werden soll ...

String.replaceAll(String, String) erwartet einen sog. regulären Ausdruck *kurz : RegEx* ... und das ist etwas anderes ...

denn in einer RegEx steht der normale punkt "." als code-zeichen für "jedes zeichen" ... und nicht für "." ....

das sind so die feinen unterschiede
 

Zurück
Oben