String.replaceAll funktioniert nicht

UnSpeed

Grünschnabel
Hallo,

ich habe ein Problem bei folgender if-Abfrage:
Code:
if (arg0.getActionCommand().equals("Konvertieren"))
		{
			eingabe = ausgabe.getText();
			eingabe.replaceAll("Hallo", "Tschüss!");
			System.out.println(eingabe);

		}

Wenn ausgabe.getText() nun "Hallo" ist, warum wird dann nicht eingabe zu "Tschüss"?

Ich verstehs grad nicht^^

UnSpeed

edit:
Hat sich inzwischen erledigt gehabt!
Trotzdem danke SPiKEe!

Die Lösung für alle, die es auch nicht wussten:
Code:
if (arg0.getActionCommand().equals("Konvertieren"))
		{
			eingabe = ausgabe.getText();
			eingabe = eingabe.replaceAll("Hallo", "Tschüss!");
			System.out.println(eingabe);

		}
 
Zuletzt bearbeitet:
http://download.oracle.com/javase/7/docs/api/java/lang/String.html

und da suchst du dir mal bitte replace() und replaceAll() raus ... dann versuchst du das zu verstehen und darfst dann gerne noch mal fragen was du falsch gemacht hast

edit : gut das es jetzt erledigt ist ... aber der comment bleibt ...
wie unten erwähnt : replaceAll sucht nach einer RegEx ... replace dagegen nach einer CharSequenz
das du dann natürlich auch die rückgabe der funktion irgendwo speichern musst habe ich erlich gesagt beim ersten lesen total übersehen ... aber mal als anmerkung : es gibt wenige klassen welche durch methoden aufrufe dierekt ihre instanz manipulieren ... in der regel geben die meisten funktionen das ergebnis via return als neues objekt zurück ... *wäre aber auch aus der doc ersichtlich gewesen*
 
Zuletzt bearbeitet von einem Moderator:
Howdie.

Erstens:
Markier den Thread doch bitte als erledigt, wenn das zutrifft.

Zweitens:
String#replaceAll(String regex, String replacement) sucht nach Matches für das im Parameter angegebenen regulären Ausdrucks. Es ist in deinem Fall eher Glück, dass es funktioniert. Sobald Sonderzeichen ersetzt werden sollen, könnten diese als boolscher Ausdruck etc. gewertet werden. Benutz doch daher einfach String#replace(String old, String new).

Gruß
miffi
 
Zurück