Probleme mit String.replaceAll()

Hey,
ich möchte in meinem Java-Code die Methode replaceAll();
der Klasse String aufrufen
Java:
System.out.println(daten[i-1][j-1]);
					daten[i-1][j-1].replaceAll(",",".");
					System.out.println(daten[i-1][j-1]);
Jedoch steht bei den Werten, die ich danach eben als Doublewerte
speichern muss, immer noch ein Komma statt dem Punkt.
Was mache ich denn falsch? 🙂
 
Zuletzt bearbeitet:
Du musst das Ergebnis von replaceAll zuweisen.

Java:
String str = "ahlao;;adfas;adsf;asdf.asd; ";
str = str.replaceAll(";", ".");
System.out.println(str);
 
Java:
String dataString=daten[i-1][j-1].replaceAll(",",".");
System.out.println(dataString);

replaceAll liefert dir einen String zurück, editiert aber nicht den original String.
 
Merksatz: "Strings können niemals nie verändert werden." ^^
Du musst mit replaceAll aber vorsichtig sein, das parst auch RegEx.

Im RegEx steht der Punkt für ein beliebiges Zeichen, deshalb würde folgender Source

Java:
String str = "ahlao;;adfas;adsf;asdf.asd; ";
str = str.replaceAll(".", ";");
System.out.println(str);

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ausgeben, da der Punkt escaped werden muss, um als Zeichen und nicht Befehl erkannt zu werden:

Java:
String str = "ahlao;;adfas;adsf;asdf.asd; ";
str = str.replaceAll("\\.", ";");
System.out.println(str);

Wesendlich sicherer ist es aber, statt replaceAll replace zu verwenden, wenn keine RegEx gebraucht werden.
 

Zurück
Oben