Java String-Ersetzung meistern: replace(), replaceAll() und replaceFirst() erklärt
Die Java String-Klasse bietet drei mächtige Ersetzungsmethoden, die effiziente Textmodifikation ermöglichen: replace(), replaceAll() und replaceFirst(). Jede dient einem distincten Zweck und ist für unterschiedliche Use-Cases optimiert.
Java String replace()
Die replace()-Methode führt eine direkte Zeichen- oder String-Substitution durch. Sie durchsucht den gesamten String und ersetzt jedes Vorkommen des Targets mit dem Replacement, gibt eine neue String-Instanz zurück. Ideal für direkte, nicht-regex-basierte Substitutionen.
Syntax
public String replace(CharSequence target, CharSequence replacement)
Parameter
target– Die zu ersetzende Zeichenfolge.replacement– Die Zeichenfolge, dietargetersetzt.
Beispiel
public class ReplaceExample {
public static void main(String[] args) {
String original = "the quick fox jumped";
System.out.println("Original: " + original);
System.out.println("Nach replace(\"fox\", \"dog\"): " + original.replace("fox", "dog"));
System.out.println("Nach replace('t', 'a'): " + original.replace('t', 'a'));
}
}
Ausgabe
Original: the quick fox jumped
Nach replace("fox", "dog"): the quick dog jumped
Nach replace('t', 'a'): ahe quick fox jumped
Java String replaceAll()
Die replaceAll()-Methode nutzt einen regulären Ausdruck (Regex), um Matches im gesamten String zu identifizieren. Sie ersetzt jeden Match mit dem spezifizierten Replacement und gibt einen neuen String zurück. Perfekt für pattern-basierte Ersetzungen.
Signatur
public String replaceAll(String regex, String replacement)
Parameter
regex– Der Regex-Pattern zum Lokalisieren von Substrings.replacement– Der String, der jeden Match ersetzt.
Beispiel
public class ReplaceAllExample {
public static void main(String[] args) {
String text = "Guru99 is a site providing free tutorials";
String withoutSpaces = text.replaceAll("\\s", "");
System.out.println(withoutSpaces);
}
}
Ausgabe
Guru99isasiteprovidingfreetutorials
Java String replaceFirst()
Die replaceFirst()-Methode verhält sich wie replaceAll(), affectiert aber nur den ersten gefundenen Match. Sie scannt vom String-Anfang und stoppt nach der ersten Ersetzung, nützlich wenn nur ein einzelnes Vorkommen geändert werden soll.
Signatur
public String replaceFirst(String regex, String replacement)
Parameter
regex– Der Regex-Pattern, der den Ziel-Substring identifiziert.replacement– Der String, der den ersten Match ersetzt.
Beispiel
public class ReplaceFirstExample {
public static void main(String[] args) {
String sentence = "This website providing free tutorials";
String updated = sentence.replaceFirst("s", "9");
System.out.println(updated);
}
}
Ausgabe
Thi9 website providing free tutorials
Die richtige Methode wählen
replace()für einfache, nicht-regex Substitutionen nutzen.replaceAll()wählen, wenn jeder Match eines Regex-Patterns ersetzt werden soll.replaceFirst()nutzen, wenn nur das erste Vorkommen geändert werden soll.
Diese Methoden sind unveränderlich; sie verändern den Original-String nie, sondern geben eine neue Instanz zurück, was Thread-Safety und vorhersehbares Verhalten in konkurrierenden Umgebungen gewährleistet.
Java
- Java Strings meistern: Erstellung, Methoden und Best Practices
- String-Repräsentationen in Java Enums meistern
- Java Annotation Types: Umfassender Leitfaden zu vordefinierten, benutzerdefinierten und Meta-Annotations
- Java String length() Methode: String-Länge ermitteln (Beispiel)
- Java String.indexOf() meistern: Substrings finden & praktische Beispiele
- Java String.charAt(): Syntax, Rückgabetyp, Exceptions und praktisches Beispiel
- Java String compareTo() meistern: Syntax, Anwendungsfälle und praktische Beispiele
- Java String.contains() Methode: Substrings prüfen – praktische Beispiele
- Java String.endsWith(): String-Suffixe prüfen mit Beispielen
- Java String toLowerCase() & toUpperCase(): Text-Groß-/Kleinschreibung mit Locale-Bewusstsein konvertieren