Parser für \

Status
Nicht offen für weitere Antworten.

apparat

Mitglied
Ich habe derzeit ein Problem.

Ich habe folgenden String: "C:\\verzeichnis\\quelle.java"


Hier muss ich die doppelten "\\" in einfache, also "\" Umwandeln.

Alle Versuche mit Replace und sonstigen Parsern waren erfolglos.

Vielleicht hat ja jemand eine Idee wie man das lösen könnte.
 

apparat

Mitglied
Also bei diesem hier string.replaceAll("\\\\", "\\"); bringt er eine Pattern.Synatx.Exception.

Hat noch jemand eine andere Idee?
 

byte

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
string.replaceAll("\\\\", "\\");

So kann das nicht klappen. Es muss lauten:

Code:
replaceAll("\\\\\\\\", "\\\\");

Das Thema wurde schon x-mal behandelt, aber irgendwie machen die Leute es immernoch falsch. :roll: Das Zeichen \ ist einerseits Maskierungszeichen in Strings und hat andererseits noch ne spezielle Bedeutung in Regex. Da Regex aber auch Strings sind, musst Du doppelt maskieren. Der Regex "\\" ist demnach ungültig, weil er sich so nicht in einen gültigen String auflösen lässt.

Auch wenn man es nicht versteht, kann man sich einfach als Faustregel merken: In Regex doppelt maskieren.
 

apparat

Mitglied
es hat sich erledigt. mir ist klar geworden das die interne-anzeige im string nur mit doppeltem Backslash geht. Selbst wenn ich nen Parser drüber laufen lassen würde, könnte es nicht gehen. Java muss ja das Zeichen intern darstellen.

Auf der anderen Seite hat sich das Problem eh erledigt da es an einem anderen bescheidenen Fehler lag. Naja was solls...
 

byte

Top Contributor
Du kannst auch, wenn es sich um Pfadangaben zu Dateien handelt, auch einfach / verwenden als Separator. Das ist dann (relativ) plattformunabhängig und Du musst auch nix maskieren.
 

Illuvatar

Top Contributor
Btw ist es wegen so was, wenn man nicht nach Regex sucht, auch sinnvoller, replace statt replaceAll zu verwenden.
 

The_S

Top Contributor
byto hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
string.replaceAll("\\\\", "\\");

So kann das nicht klappen. Es muss lauten:

Code:
replaceAll("\\\\\\\\", "\\\\");

Das Thema wurde schon x-mal behandelt, aber irgendwie machen die Leute es immernoch falsch. :roll: Das Zeichen \ ist einerseits Maskierungszeichen in Strings und hat andererseits noch ne spezielle Bedeutung in Regex. Da Regex aber auch Strings sind, musst Du doppelt maskieren. Der Regex "\\" ist demnach ungültig, weil er sich so nicht in einen gültigen String auflösen lässt.

Auch wenn man es nicht versteht, kann man sich einfach als Faustregel merken: In Regex doppelt maskieren.

:oops:
 

Illuvatar

Top Contributor
byto hat gesagt.:
Hä? Was ist daran sinnvoller?

Bei sowas isn regex eigentlich overkill (wenn man das in ner Schleife macht wahrscheinlich auch Performancetechnisch), außerdem ist
Code:
string.replace ("\\\\", "\\");
doch deutlich besser lesbarer als
Code:
string.replaceAll ("\\\\\\\\", "\\\\");

oder gar bei sowas hier (andersrum) (nach edit doch nicht mehr noch schlechter lesbar):
Code:
string.replace ("\\", "\\\\");
//oder
string.replaceAll ("\\\\", "\\\\\\\\");

Edit: *räusper* http://www.java-forum.org/de/viewtopic.php?p=173114#173114
 

apparat

Mitglied
es ging leider nur mit \ weil ich dieses javac an ein runtime-objekt übergeben habe. dort nimmt er glaub ich nur \ statt /.

Aber es hat sich jetzt nun erledigt da mein fehler ganz woanders lag.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Methoden Parser für gängige Datumsformate? Allgemeine Java-Themen 1
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
A Konstrukt ohne Main für Xml-Parser Allgemeine Java-Themen 1
F Parser Framework/Plugin für Datei in Custom-Format Allgemeine Java-Themen 2
J Best Practice Parser für Taschenrechner Allgemeine Java-Themen 4
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
S HTML => DOM - Welcher Parser für meine Zwecke? Allgemeine Java-Themen 3
B Parser für logische Ausdrücke Allgemeine Java-Themen 9
D Parser-generator für mathematische Funktionen Allgemeine Java-Themen 12
T Parser für BBCode? Allgemeine Java-Themen 3
W CSV-Parser Allgemeine Java-Themen 1
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
B StAX Parser - mehrere Methoden, ein XML Allgemeine Java-Themen 4
offi EDIFACT Parser Allgemeine Java-Themen 7
Neumi5694 Parser - Zerlegen verschachtelter Funktionen Allgemeine Java-Themen 2
RalleYTN Lua Parser? Allgemeine Java-Themen 2
O Sax-Parser ließt XML-File doppelt Allgemeine Java-Themen 1
Thallius Simple JSON Parser Error null Allgemeine Java-Themen 6
H Best Practice Ideensuche: Flexibel hinzufügbare eigene Parser Allgemeine Java-Themen 6
V String nicht im String literal pool speichern - Parser Allgemeine Java-Themen 30
A Parser verursacht Speicherprobleme auf Server Allgemeine Java-Themen 2
H Kleiner HTML Parser (Facharbeit) Allgemeine Java-Themen 11
G REST Client / URL Parser Allgemeine Java-Themen 2
F ical4j Parser Allgemeine Java-Themen 7
M String tokenizer / parser Allgemeine Java-Themen 3
M Übergabe mehrer Files an selbstprogrammieren Parser Allgemeine Java-Themen 4
Landei Design-Problem Formel-Parser Allgemeine Java-Themen 10
E Parser basteln mit CUP Allgemeine Java-Themen 6
T HTML Parser Allgemeine Java-Themen 7
R Script parser Allgemeine Java-Themen 6
T Mathematik Parser Library? Allgemeine Java-Themen 4
N DOM Parser Allgemeine Java-Themen 2
J Parser / Scanner / Tokenizer gesucht Allgemeine Java-Themen 3
S Textfeld Parser sinnvoll? Allgemeine Java-Themen 3
D CSV Parser Allgemeine Java-Themen 12
T Webseite (HTML) Parser gesucht Allgemeine Java-Themen 8
R Parser: Datei auslesen, Datei erstellen - Geschwindigkeit Allgemeine Java-Themen 16
S html parser Allgemeine Java-Themen 3
G Parser erstellen Allgemeine Java-Themen 12
T Suche BBCode-Parser in Java Allgemeine Java-Themen 2
J Java Parser Tool verfügbar? Allgemeine Java-Themen 3
A api latex bzw. latex parser Allgemeine Java-Themen 2
B tipps zum schreiben eines mathematischen parser Allgemeine Java-Themen 13
B Algorithmus für Arbeit mit fehlenden Listenelementen? Allgemeine Java-Themen 1
kodela Eingabe für TextArray bedingt sperren Allgemeine Java-Themen 3
Karl_Der_Nette_Anfänger Hat wer ne Lösung für verknüpfte Postleitzahlen? (Baum/Wurzel Struktur) Allgemeine Java-Themen 11
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
G KeyListener für JTextField Allgemeine Java-Themen 5
webracer999 Library für Textsuche (z. B. include/exclude, and/or)? Allgemeine Java-Themen 5
I Module-Info für Jar erzeugen Allgemeine Java-Themen 7
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
B Simpler Eventlistener für Tastaturtaste bauen? Allgemeine Java-Themen 13
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
E Key für TOTP Algorythmus(Google Authentificator) Allgemeine Java-Themen 0
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
jhCDtGVjcZGcfzug Klassen Was genau passiert hier? Kann mir das jemand bitte Zeile für Zeile erklären? Allgemeine Java-Themen 1
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
S Mit Methoden kann man definieren für was <T> steht. Geht das auch irgendwie für Variablen? Allgemeine Java-Themen 12
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
B Mit welchen Datentypen und Strukturierung am Besten dutzende Baccaratspiele Shcritt für Schritt durchsimulieren? Allgemeine Java-Themen 26
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
I OCR Library für Belegerkennung Allgemeine Java-Themen 7
farah GetterMathod für Farbkanäle Allgemeine Java-Themen 6
B Welcher Datentyp für sehr große Zahlenbereiche? Allgemeine Java-Themen 1
S Webservices für binäre Daten? Allgemeine Java-Themen 5
G Licence-Header für InHouse entwickelten Source Allgemeine Java-Themen 8
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
O git ignore für Intellji braucht es die .idea Dateien? Allgemeine Java-Themen 8
F Java Script für das Vorhaben das richtige? Allgemeine Java-Themen 9
M wiviel Java muss ich für die Berufswelt können ? Allgemeine Java-Themen 5
Robertop Datumsformat für GB ab Java 16 Allgemeine Java-Themen 1
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
OnDemand Zentrale "Drehscheibe" für verschiedene APIs Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
D SHA-3 für Java-version 1.8 Allgemeine Java-Themen 1
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
B Logikfehlersuche, das perfekte Lottosystem für 3 Richtige mit Arraylists? Allgemeine Java-Themen 61
G Methoden für die Zukunft sinnvoll? Allgemeine Java-Themen 4
M API für PLZ Umkreissuche Allgemeine Java-Themen 3
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
buchfrau Anagram für beliebiges Wort Allgemeine Java-Themen 2
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
Kirby.exe Distanz Map für die Distanztransformation erstellen Allgemeine Java-Themen 1
F PI Regler für Heizung Allgemeine Java-Themen 7
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
M Wie übergebe ich den Zähler für die Anzahl Rekursionsschritte korrekt? Allgemeine Java-Themen 2
B Login für User, der im Hintergrund Schedules ausführt Allgemeine Java-Themen 16
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben