String auf Sonderzeichen pruefen und falls vorhanden ersetzen

oldboy

Grünschnabel
hallo liebes forum
ich haette da schon wieder eine frage und es waere sehr nett wenn mir hier jemand weiterhelfen koennte
also ich bekomme strings in denen ein datum enthalten ist, in diesem fall 02/01/2007
jetzt will ich dieses mit einer methode auslesen und anschliessend so wieder ausgeben
tag=02
monat=01
jahr=2007

das funktioniert schon aber eben die sonderzeichen!
wie kann ich am besten eine methode basteln die die sonderzeichen erkennt sie entfernt und mir das datum wie oben beschrieben zurueckgibt

waere echt nett wenn ihr mir helft!
danke im voraus!

liebe gruesse flo
 
Hallo Flo,

bitte beachte die Board-Nettiquette! Dazu gehört u.A. die Groß-/Kleinschreibung....
In Deinem anderen Thread [hier] hat Dir Xondio doch schon eine Lösung genannt......

String str = "01022007";
String tag=str.substring(0,1);
String monat=str.substring(2,3);
String jahr= str.substring(4);

Wenn Du jegliche Sonderzeichen dazwischen einfach ignorieren willst, setze andere Indexpositionen (fett gedruckt im o. Beispielzitat).
 
das ist aber nicht das was ich brauche

ich brauche das hier bin aber leider unfaehig deshalb
bitte hilft mir jemand!!
for(int i=0; i< eingabe.length(); i++;)
if (eingabe.charAt(i)=='.')?

else
 
Was brauchst du dann? Also ich versteh wirklich dein Problem nicht. Wenn du einen String der Form 02/01/2007 hast, warum kannst du das dann nicht so machen, wie Ronin-Jay geschrieben hat?

Also wenn du 02/01/2007 parsen willst, hast du halt
Java:
String tag=str.substring(0,2);
String monat=str.substring(3,5);
String jahr= str.substring(6,10);
Aber das bisschen Index-Anpassung hättest du wohl auch allein hingekriegt.

Was soll dein Programm können? Was soll es nicht können? Bei dieser Art das auszulesen ist es völlig egal, welche Sonderzeichen da verwendet werden. Wenn du unbedingt willst, kannst du natürlich hingehen und sowas hier machen:
Java:
str = str.replaceAll("[^0-9]", "/");
Aber das ist zumindest so wie ich dein Problem bisher verstanden hab völlig unnötig. (Der Befehl sucht sich alle Zeichen raus, die keine Zahl sind und ersetzt diese durch / )
 
das ist aber nicht das was ich brauche

ich brauche das hier bin aber leider unfaehig deshalb
bitte hilft mir jemand!!
for(int i=0; i< eingabe.length(); i++;)
if (eingabe.charAt(i)=='.')?

else

Wenn Du Dich mal ein wenig genauer ausdrücken könntest, würde sicherlich eine Lösung gefunden werden. Man hat Dir jetzt mehrere Wege gezeigt und ich verweise nochmals auf die Nettiquette, dann würde Dir auch schneller geholfen werden.....

P.s: Kulabac's Hinweis mit String.replace ist denke ich das was Du suchst....
 
Zurück