Buchstabe aus String entfernen

Hi.
du hast ein space(leerzeichen) zwischen "char" und "[]"
er erwartet aber, um das Feld als solches zu identifiezieren den Typ "char[]" damit sollte sich die fehler ham.
Das ist falsch. Man darf dort soviele Leerzeichen machen wie man möchte. Der Fehler wird bei "new char['a', 'b', ..]" beim ersten Komma angezeigt (kann man leider nicht erkennen, da redbuttler die Fehlermeldung einfach hier reingeklatscht hat statt ein Codetag zu verwenden...)
Java:
		string.replaceAll(sar[i], "");
	return string; // doppelt gemoppelt, replaceAll ersetzt ja im String
Strings in Java sind immutable (nicht änderbar) -- jedenfalls nicht ohne Tricks. Die Methode replaceAll kann den String nicht ändern, sondern gibt eine Kopie ohne die entsprechenden Zeichen zurück. Weiter solltest du beachten, das replaceAll das erste Argument als regulären Ausdruck betrachtet - d.h. das es ein paar Sonderzeichen gibt, die anders interpretiert werden. Und genau deswegen brauchst du in diesem Fall aber auch keine Schleife und noch nicht mal ein Array:
Java:
static String stringRueckgabe(String string) {
  return string.replaceAll("[aeiou]", "");
}

@redbuttler: Du meintest sicherlich Vokale statt Umlaute, oder?!

Gruß
 
Strings in Java sind immutable (nicht änderbar) -- jedenfalls nicht ohne Tricks. Die Methode replaceAll kann den String nicht ändern, sondern gibt eine Kopie ohne die entsprechenden Zeichen zurück. Weiter solltest du beachten, das replaceAll das erste Argument als regulären Ausdruck betrachtet - d.h. das es ein paar Sonderzeichen gibt, die anders interpretiert werden. Und genau deswegen brauchst du in diesem Fall aber auch keine Schleife und noch nicht mal ein Array:
Java:
static String stringRueckgabe(String string) {
  return string.replaceAll("[aeiou]", "");
}
Mäh, natürlich: Strings in Java ;) - sorry, war gestern gedanklich nur halb bei Java *peinlich*
Und danke dass du an die Regex erinnerst, das vergess ich ständig...
 
Um mit einem String richtig zu verändern empfehlt sich die Benutzung eines StringBuffers oder Stringbuilder. Dort gibt es auch eine remove Methode^^.
 
Zurück