Kurze Frage zu replace()

Förster

Mitglied
Guten Morgen allerseits,
wahrscheinlich steh ich mächtig auf dem Schlauch aber ich versteh gerade nicht wieso das nicht funktionier:
Java:
selectedFile = selectedFile.toString().replaceAll("\" ,"/");

Was muss ich einsetzten damit \ ersetzt wird?

Vielen Dank im voraus!
 

Robertop

Bekanntes Mitglied
Die Zeile von dir sollte eigentlich einen Compile-Fehler verursachen:

Mit einem Schrägstrich \ escapt man in Javastrings Sonderzeichen. Wenn du in einem String wirklich ein \ haben willst, musst du \\ schreiben (einen zum escapen und einen "echten").

Außerdem ist replaceAll für Regex-Ausdrücke gedacht. in deinem Fall würde ich also eher replace verwenden, sonst musst du den Schrägstrich nochmal für Regex Escapen und bräuchtest \\\\.

Java:
selectedFile = selectedFile.toString().replace("\\" ,"/");
 

Förster

Mitglied
Vielen Dank erstmal für eure schnelle Antwort.

Ich habe das ganze mal so probiert wie @Robertop es geschrieben hat. Hat leider nicht funktioniert.
Ich hol mal etwas weiter aus wieso nicht:

Ziel ist es einen Path zu String zu machen um mir eine csv datei in eine Liste zu schreiben und zu verarbeiten.

Tatsächlich hat es mit replaceAll() funktioniert und den \\\\.

Das ganze ist zwar umständlich sieht jetzt aber so aus:
Java:
if (result == JFileChooser.APPROVE_OPTION) {
selectedFile = fileChooser.getSelectedFile();
}

Und dann:

Java:
selectedPath = selectedFile.toPath();
String pathString = selectedPath.toString();
pathString = pathString.replaceAll("\\\\","/");

Zumindest funktioniert es, ich danke!
 
G

Gelöschtes Mitglied 76266

Gast
Java:
selectedPath = selectedFile.toPath();
String pathString = selectedPath.toString();
[CODE=java]pathString = pathString.replaceAll(File.separator,"/");
wie wäre es mit File.separator anstatt "\\\\" ?
Code:
pathString = pathString.replaceAll(File.separator,"/");
 

KonradN

Super-Moderator
Mitarbeiter
wie wäre es mit File.separator anstatt "\\\\" ?
Code:
pathString = pathString.replaceAll(File.separator,"/");
Das wird nicht funktionieren, da replaceAll ein Regulären Ausdruck erwartet und da ist der \ auch wieder nur ein escape Zeichen. Daher ja die zweite Verdoppelung.

Die Frage ist maximal, wozu er das braucht. Was wird mit dem Wert weiter gemacht?
 
G

Gelöschtes Mitglied 76266

Gast
Das wird nicht funktionieren, da replaceAll ein Regulären Ausdruck...
Doch!
Java:
public class Main {
    public static void main(String[] args) {
       String path = "/usr/bin/java";
       String tmp = path.replaceAll(java.io.File.separator, "|");
       System.out.println(path+"\n"+tmp);
    }
}
 

Anhänge

  • main.jpg
    main.jpg
    12,8 KB · Aufrufe: 2

KonradN

Super-Moderator
Mitarbeiter
Also JVM ist doch nicht immer gleich JVM zwischen Linux und Windows? So ist es wahrscheinlich auch mit dem Problem
Die JVM ist schon gleich. Das Problem ist hier lediglich, dass File.separator ein Zeichen sein kann, dass in Regulären Ausdrücken eine besondere Bedeutung haben kann. Das ist bei Windows z.B. der Fall, denn dort ist das Zeichen hat der Backslash und der ist in regulären Ausdrücken auch das Escape Zeichen. Daher bräuchte man in dem regulären Ausdruck zwei davon. Und das macht dann in einem String Literal 4 Backslash um eben ein String mit zwei Backslash zu bekommen.
 

thecain

Top Contributor
Die Problematik tritt nicht bei Unix Trenner auf sondern nur bei dem Windows Trenner, denn dort ist dieser ist der Backslash und der hat in regulären Ausdrücken eine besondere Bedeutung. Probiere es also einfach unter Windows aus. Oder glaube @Robertop, der darauf schon in #2 hingewiesen hat.
Das geht auch bei Windows

Java:
class Scratch {
    public static void main(String[] args) {
        String path = "C:\\tmp\\test";
        String tmp = path.replace(File.separator, "|");
        System.out.println(path+"\n"+tmp);
    }
}

Code:
C:\tmp\test
C:|tmp|test

/Edit: natürlich quatsch, es geht um replaceAll.... da gehts nicht
 
G

Gelöschtes Mitglied 76266

Gast
You scratch my back and I'll scratch your back, huh?🤣 I'm not against IDE like you say, but I don't let IDE rule me and tell me what to do. Maybe you would say that this old Joe is too backward. Nope! Let me tell you this: Self-driving cars are currently en vogue for the wannabe modern. But if you have to work with AI, you will see the limitations of AI. Even the most touted ChatGPT is mocked (as smart as a 6 year old toddler). Google gives its developers a gag order to babble out the "Bard" project (an AI chatbot). Why? Because Bard is more unpredictable than the most spoiled 6-year-old toddler. Back to the IDE/Self-Driving question: Would you rather be backward and take your life in your own hands THAN let AI drive the car and put your life in the hands of an unknown AI bot?
 

KonradN

Super-Moderator
Mitarbeiter
but I don't let IDE rule me and tell me what to do.
Sorry, but I do not understand that.

The IDE does not tell me, what to do. You can configure it. You the IDE is not telling me what to do but it tells me, when I did something wrong. That is simple QA! When you produce something, then you will have some QA that checks the result. So I configure the IDE so that it helps me to do, what I want to do. But that simply requires that you really think about how everything should be. It does not matter, what you create / produce: You should also think about what you are building and what quality you want to build. It is ok to ignore that when you just play around but as soon as you want to build some kind of product, then this is really required.

And the IDE is the tool that is only doing some really easy stuff because it is not capable to do a lot (it can change with plugins. I testes some quite nice pugins in the past but it wasn't worth the money because I was to lazy to work on the configuration and the additional value wasn't there because of the tools I already have in place in my workflows). Most important are:
  • all the Tests (As software developer, that are more likely Unit Tests)
  • lots of tools that are doing checks: Static Code analysis like PMD, Spotbugs but also AI based stuff like snyk that find much more.

But that are just tools. OWASP (just to name an example) is something that is really important for all software engineers in my eyes. And the most important part is of course the developer that needs to understand:
  • why is this important
  • what should he do. (If some developer must be forced to follow best practices then this developer is not a professional developer. Sorry, but such a person would be fired from all project teams that I know of! So this is really something that the developer should want. And then the tools are just helping him. It is not a tool that "tells him what he has to do")

But that is just my view. I do not want to convience you. You have your optinion and you are quite happy with it and that is great. This is mostly for others that read this thread to get a different view, too. (I don't want to say, that this view is better or correct. But I can say that multiple companies have exactly this view! So "Secure Software Engineering" is a mandatory training session once per month for all developers in our department - I am working in a department that is a pure software engineering department so it is simply mandatory for all employees except the few people who onlay have management stuff to do!)
 
G

Gelöschtes Mitglied 76266

Gast
The IDE does not tell me, what to do. You can configure it. You the IDE is not telling me what to do but it tells me, when I did something wrong
🤣Congratulation.
Have you ever known how desperate newbies were and still are with IDE. Beginning with the downloading and end up with compiler installation. Especially with JAVA. IDE sets and manages the CLASSPATH and PATH still and correctly so that a newbie feels great and think he's great. But outside his or her IDE environment he or she becomes a dead chicken.

My wife were a former teacher (now retired) once said to me: "you know, in a class of 20 students. Maybe there are one or two are good and they lift the level of the class". You are probably the one or two and you lift the level of this forum.

Pls. let's stop discussing about IDE. The Germans used to say "Über Geschmack lässt sich nicht streiten."
 
Zuletzt bearbeitet von einem Moderator:

LimDul

Top Contributor
Generell gilt ja:
A fool with a tool is still a fool
und
If your only tool is a hammer every problem looks like a nail

Das trifft auch auf IDEs und alle Tools zu - sie sind unverzichtbar in vielen Konstellationen, müssen aber sinnvoll eingesetzt werden und das tun was sie sollen und einen nicht behindern (I'm looking at you Eclipse!)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
L Kurze Frage... Java Basics - Anfänger-Themen 2
C Kurze Frage zur Polymorphie Java Basics - Anfänger-Themen 1
B Rekursion Schneeflocke - Kurze Frage zur Methode Java Basics - Anfänger-Themen 11
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
T Objektorientierung-Kurze Frage Java Basics - Anfänger-Themen 5
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
D Compiler-Fehler kurze Frage (Fehler): runde Klammern im Println Java Basics - Anfänger-Themen 3
M Baum Code kurze frage ... Java Basics - Anfänger-Themen 6
M kurze frage zu meinem Code ... Java Basics - Anfänger-Themen 3
T Kurze Frage zu Arrays Java Basics - Anfänger-Themen 4
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
T Eine kurze frage vor der prüfung bitte. Java Basics - Anfänger-Themen 5
X Kurze Frage zu Java Doc Java Basics - Anfänger-Themen 3
G Kurze Frage zu Arrays Java Basics - Anfänger-Themen 3
G Warteschlange/Reihungen kurze syntaktische Frage Java Basics - Anfänger-Themen 2
J Erste Schritte Kurze Frage zu Listenern und If-Bedingung Java Basics - Anfänger-Themen 2
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
M kurze frage: Ohne index.of position von string angeben Java Basics - Anfänger-Themen 16
A Methoden Langer Text, kurze Frage Java Basics - Anfänger-Themen 10
S Kurze Frage zur Effizienz: Java Basics - Anfänger-Themen 4
R Kurze Ouelltext frage Java Basics - Anfänger-Themen 3
M kurze Frage zu Graphics Java Basics - Anfänger-Themen 5
Screen Kurze Frage Umwandlung von Zahlen Java Basics - Anfänger-Themen 2
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
S Kurze Frage zum Ergebniss Java Basics - Anfänger-Themen 5
A kurze frage zu arrays und deren zuweisung Java Basics - Anfänger-Themen 11
J Kurze Frage zur Primzahlberechnung Java Basics - Anfänger-Themen 8
B kurze Frage if(!) Java Basics - Anfänger-Themen 19
K Kurze Frage zur Sortierung von Array-Inhalten Java Basics - Anfänger-Themen 5
G kurze frage zu if schleifen Java Basics - Anfänger-Themen 15
G kurze if frage Java Basics - Anfänger-Themen 8
G Kurze Frage zur Erstellung des Projektplans Java Basics - Anfänger-Themen 7
C OOP - Kurze Frage Java Basics - Anfänger-Themen 12
F Kurze Frage: JLabel in BorderLayout einfügen Java Basics - Anfänger-Themen 2
J QuickSort - kurze Frage Java Basics - Anfänger-Themen 9
A Kurze Frage zur Verwendung von this Java Basics - Anfänger-Themen 9
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
S Kurze Verständnissfrage Java Basics - Anfänger-Themen 4
N Kurze Hilfe !! Java Basics - Anfänger-Themen 3
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
B Methoden Tricky, kurze Schreibweise? Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
V Ganz kurze Java-Hilfe - Ich finde meinen Fehler nicht Java Basics - Anfänger-Themen 4
R Kurze Linien alle x-Pixel Java Basics - Anfänger-Themen 2
U ArrayList kurze Einführung Java Basics - Anfänger-Themen 3
2 Datentypen Kurze Schreibform bei ArrayList (Vs String Array) Java Basics - Anfänger-Themen 6
P OOP 3 kurze Fragen Java Basics - Anfänger-Themen 2
J Benötige kurze Definition zum Programm Java Basics - Anfänger-Themen 2
R klausurvorbereitung uni HILFE!! kurze fragen,kurze antworten Java Basics - Anfänger-Themen 9
D 2 kurze Fragen Java Basics - Anfänger-Themen 5
Q 2 kurze Fragen Java Basics - Anfänger-Themen 3
D Kurze Fragen zu setVisible. Java Basics - Anfänger-Themen 4
M Kurze Pause ins Programm einbauen Java Basics - Anfänger-Themen 5
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben