String.split("\\") führt zu Error?!

vandread

Aktives Mitglied
Hallo Leute,

kann mir bitte jemand sagen warum das hier nicht funktioniert?

Java:
String s = "C:\\Eigene Daten\\Javatest\\Beispiel.java";
String a[] = s.split("\\");

Bei mir stürzt er immer ab...
Aber mit allen anderen Zeichen geht es nur mit "\\" nicht...

Das ist die Fehlermeldung:

Code:
run:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^
	at java.util.regex.Pattern.error(Pattern.java:1713)
	at java.util.regex.Pattern.compile(Pattern.java:1466)
	at java.util.regex.Pattern.<init>(Pattern.java:1133)
	at java.util.regex.Pattern.compile(Pattern.java:823)
	at java.lang.String.split(String.java:2292)
	at java.lang.String.split(String.java:2334)
	at Parser.main(Parser.java:34)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
 
Soweit ich weiß, negiert der erste Backslash immer das darauf folgende Zeichen.
Sprich, der compiler erkennt in deinem String nur ein "\", da der erste die Bedeutung des darauf folgenden umkehrt.

So, wie faetzminator es beschrieben hat, wird es wohl funktionieren. Denke ich mal 😛
 
um alle Möglichkeiten beisammenzuhaben, hier leider nicht helfend,
aber bei vielen Zeichen die eine Sonderbedeutung haben geht auch [] für Aufzählung:
Java:
        String s = "C:(Eigene Daten(Javatest(Beispiel.java";
        String a[] = s.split("[(]");
😉

ok, wobei dann ja noch
Java:
        String s = "C:(Eigene Daten(Javatest(Beispiel.java";
        String a[] = s.split("\\(");
da wäre, nicht so sehr sparsam..
 

Zurück
Oben