Backslash aus mehreren einen machen?

matt89

Mitglied
Angabe
Liefert den kompletten an parsePathname(String) übergebenen Pfadnamen in
normalisierter Form zurück. Normalisierung bedeutet hierbei, dass mehrfach hintereinander
auftretende Pfadseparatoren nur einfach ausgegeben werden (also zB. '///' als '/').
Bitte beachten Sie, dass Sie den unter Windows gebräuchlichen Pfadseparator '\' im Java-
Code als „\\“ angeben müssen, da er andernfalls als Escape-Character interpretiert wird.
Nutzen Sie für die Normalisierung zudem den von der Plattform abhängigen Pfadseparator
java.io.File.separatorChar.

Meine Frage: wie bekomme ich das hin wenn ich zum beispiel
/d.//arbeisplatz\\\\musik/// rockmeamadues.mp3 habe
und da jetzt aus den ganzen slashs und backslashs einen draus zu machen??
Also erstens mal mit replace alle salsh zu backslash machen und dann.....?
hab schon tausend sachen versucht und im buch gesucht nach einer methode die des macht:rtfm:

gibt es evtl. eine funktion die des macht? HILFE
 
Java:
replaceAll("\\*" , "\\")

das "*" bedeutet dass beliebig viele vorkommen dürfen!
 
alter du verarschst mich jetzt oder so eifnach ist des:lol:
und ich such und such nach irgendwas
ich hab schon mit arrays und so einen schmarn rumgebastelt halt total der scheiß programmierstil
ein echt fettes danke🙂:toll::applaus:
 
Hängt's daran, dass du die Methode einfach nur ausführen lässt, aber nicht einer Variablen zuweist? Strings sind in Java unveränderlich, die Methode ändert nichts an dem übergebenen String - du musst den Rückgabewert der Methode also einer anderen Variablen zuweisen.
Java:
String neuerString = "/d.//arbeisplatz\\\\musik/// rockmeamadues.mp3".replaceAll("\\*" , "\\")

Du brauchst übrigens deshalb nicht gleich ein neues Thema mit dem gleichen Titel und Inhalt eröffnen 😉
 
Mhm, aber replaceAll/replace ersetzt doch eh schon jedes vorkommen 🙂
Aber btw: der erste String bei replaceAll ist ein regulärer Ausdruck --> Using Regular Expressions in Java
In literal Java strings the backslash is an escape character. The literal string "\\" is a single backslash. In regular expressions, the backslash is also an escape character. The regular expression \\ matches a single backslash. This regular expression as a Java string, becomes "\\\\". That's right: 4 backslashes to match a single one.
 
Java:
replaceAll("\\*" , "\\")

das "*" bedeutet dass beliebig viele vorkommen dürfen!

jawoll ... RegEx FAIL ...

du weist schon das in RegEx "\\" als escaper steht oder ? also würdest du mit "\\*" nicht belibig viele "\" ersetzen sondern "*" da dieser in RegEx ein metazeichen ist und durch "\\" escaped wird


@TO

verwende einfach String.replace("\\\\", "\\") ...

sollte passen ...
 

Neue Themen


Zurück
Oben