String.replace()

Saban

Erfahrenes Mitglied
Hallo Zusammen!

ich lese ein TextFeld aus in dem z. B. der Text (13.12.2007,11.12.2008) steht. Diesen trenne ich dann durch die split() Methode.

Java:
 String[] datum = tf.getText().split(",");
was auch funktioniert! Wenn ich jetzt aber sage
Java:
 datum[0].replaceAll(".", "/");

Dann bekomme ich trotzdem die Ausgabe: 13.12.2007

Übersehe ich da vllt was? Eigentlich sollte es doch klappen :confused:

MfG
Saban
 
Zuletzt bearbeitet von einem Moderator:

Xandro

- Mistkerl -
Moin,

entweder Du machst es mit der normalen replace-Methode:
Java:
datum[0].replace(".", "/");
oder Du passt Deine replaceAll-Methode an RegEx an:
Java:
datum[0].replaceAll("\\.", "/");
So funktioniert es zumindest bei mir.

Gruß,
Xan
 

Xandro

- Mistkerl -
Moin,

also bei mir funktioniert das ohne Probleme.
Zeig mal ein bissel was von Deinem Code, dann lässt sich ein möglicher Fehler leichter ermitteln.

Gruß,
Xan
 

Andibert

Mitglied
Die Lösung ist einfach:
Strings sind IMMUTABLE
das heißt unveränderlich
daher gibt die Methode als return Wert einen String zurück!

Java:
datum[0] = datum[0].replaceAll(".", "/");

Das sollte das Problem lösen.

wobei folgendes wahrscheinlich Performanter ist,

Java:
datum[0] = datum[0].replace('.', '/');

weil nur Chars getauscht werden.

MfG

Der Andibert
 
Zuletzt bearbeitet:

Saban

Erfahrenes Mitglied
Hi!

Vielen vielen Dank an euch beide! Hab ich wieder was dazu gelernt :) das Problem wurde behoben!

Danke nochmal!

MfG
Saban