Problem beim String spliten

Germu

Mitglied
Hallo,

ich gebe in ein Textfeld ein Datum ein im Format dd.mm.yy. Für die Datenbankabfrage brauch ich es im Format yy.mm.dd.

Ich wollte das wie folgt machen:

Code:
datumv = datv_eing.getText();	
System.out.println(datumv); 
String[] datumform = datumv.split(".");
datumv = datumform[2] + "." + datumform[1] + "." + datumform[0];
System.out.println(datumv);

Wen ich jetzt ein Datum in das Eingabefeld eingebe und das Programm Starte gibt er zwar zuerst das Datum aus das ich eingetippt habe bricht dann aber mit der Fehlermeldung.

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
Diese Fehlermeldung bedeutet doch das das Array leer ist oder?

Benutze im Programm genau das selbe nochmal nur das "-" mit "." ersetzt wird und da gibt es keinerlei Probleme.

grüsse
Germu
 
Hallo Germu!

Der an split übergebene Stringparameter wird als regulärer Ausdruck interpretiert - und dabei hat der Punkt eine spezielle Funktion. Willst du den Punkt als normales Zeichen verwenden, muss er (in diesem Fall mit zwei Backslashs) escapet werden.

Code:
String[] datumform = datumv.split("\\.");
 
Zuletzt bearbeitet:
Hab jetzt noch ne Frage.

Ich bekomme aus einer Datenbank einen 30 stelligen String allerdings ist der String nicht ganz voll Sprich die Ausgabe hat ewig viele Leerzeichen dahinter. Weiß einer vielleicht eine simple lösung dafür. Ich hab mir gedacht ich könnte es einfach mit dem StringTokenizer hinten abschneiden und gut ist.

grüsse
Germu
 
Zurück