ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
689
689
EMPFEHLEN
-
24.10.10 21:14 #1
- Registriert seit
- Oct 2010
- Ort
- Paderborn (NRW)
- Beiträge
- 1
Hallo alle zusammen!
Habe eine eigentlich sehr einfache Frage, allerdings kann ich mir auch nach stundenlangem Suchen keinen Reim darauf machen wieso der Algorithmus nicht läuft!
Der wichtigste Teil:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
public class Test { public static void main(String[] args) { String url = "start E:\\Filme\\Action\\Edgar Wallace\\Das Gesicht im dunkeln.avi"; String sub = "error"; int count = 0; int index = 0; for(int i = 0; i< url.length();i++) { if(count == 0) { index = url.indexOf("\\"); url = url.replaceFirst("\\", "\\\""); } else { sub = url.substring(index+1); sub = sub.replaceAll("\\", "\"\\\""); } //url = url + sub; count++; } System.out.println(url); } }
Das Programm soll aus dem Pfad:
E:\\Filme\\Action\\Edgar Wallace\\Das Gesicht im dunkeln.avi;
diesen Pfad erzeugen:
E:\\\"Filme\"\\\"Action\"\\\"Edgar Wallace\"\\\"Das Gesicht im dunkeln.avi\";
Das soll dann als ausgegebenener String so aussehen soll:
E:\"Filme"\"Action"\"Edgar Wallace"\"Das Gesicht im dunkeln.avi";
Ich bekomme immer folgende Fehlermeldung:
Code :1 2 3 4 5 6 7 8 9
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^ at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.<init>(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.lang.String.replaceFirst(Unknown Source) at GUI.Test.main(Test.java:20)
Danke im voraus!
-
Hallo Solores,
Der Grund warum dein Algorithmus nicht läuft ist der Folgende:
Auf Zeile 17 ersetzt du einen Teil des Strings (mit Escape Character) mit einem anderen Teil (ebenfalls mit Escape Character). Jeder Backslash benötigt ja wiederum einen Backslash als Escape Character. Daher würde dein String nach einmal Zeile 17 (dein Code) etwa so aussehen:
Vorher:
E:\\Filme\\Action\\Edgar Wallace\\Das Gesicht im dunkeln.avi;
Nachher:
E:\"\Filme\\Action\\Edgar Wallace\\Das Gesicht im dunkeln.avi;
Nun, das ist leider kein gültiger String mehr...
Lösung: (Ich habe den Algorithmus umgebaut, weil deiner leider nicht das gewünschte Resultat produziert)
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
public class Test { public static void main(String[] args) { String sUrl = "start E:\\Filme\\Action\\Edgar Wallace\\Das Gesicht im dunkeln.avi"; String sResult = ""; String[] parts = sUrl.split("\\\\"); int iSize = parts.length; if(iSize > 0) { sResult += parts[0] + "\\"; for(int a=1; a<iSize; a++) { sResult += "\""; sResult += parts[a]; sResult += "\""; if(a<iSize-1) { sResult += "\\"; } } } System.out.println(sResult); } }
Freundliche Grüsse
CKingZesiGeändert von CKingZesi (25.10.10 um 08:19 Uhr) Grund: Rechtschreibung korrigiert
Eine Frage braucht keinen Anlass, die Frage ist der Anlass selbst...
Ähnliche Themen
-
Probleme mit CSS im IE8
Von Necro_nomicon im Forum CSSAntworten: 6Letzter Beitrag: 01.07.09, 13:37 -
Probleme mit IE 5.5
Von geos im Forum CSSAntworten: 4Letzter Beitrag: 30.04.06, 07:15 -
Premiere Pro Export probleme / Projekt Probleme
Von DanielT im Forum Videoschnitt, Videotechnik & -produktionAntworten: 5Letzter Beitrag: 31.10.03, 17:48 -
Probleme mit cout (War: Probleme bei meinem Programm)
Von DöDö im Forum C/C++Antworten: 6Letzter Beitrag: 21.05.03, 12:49 -
css probleme
Von untread im Forum CSSAntworten: 3Letzter Beitrag: 27.03.02, 11:57





Zitieren
Login





