Ersetzen von Teil-Strings mit regulären Ausdrücken
How To ...
Wie ersetze ich durch reguläre Ausdrücke spezifizierte Teil-Strings in einem String?
Hintergründe
Seit Version 1.4 kennt Java reguläre Ausdrücke (Klasse java.util.regex.Pattern), die in replace-Methoden der Klasse String verwendet werden können.
So geht's
Die Methoden replaceAll() und replaceFirst()
der Klasse java.lang.String haben zwei Parameter vom Typ String.
Der jeweils erste Parameter ist ein regulärer Ausdruck, der nach den
Regeln der Klasse java.util.regex.Pattern gebildet wird.
replaceAll() ersetzt alle Vorkommen des regulären Ausdrucks durch den
zweiten String, replaceFirst() ersetzt das erste Vorkommen des regulären
Ausdrucks durch den zweiten String.
Der folgende Code-Ausschnitt
String str = "Dies ist ein ganz langer String";
System.out.println(str.replaceFirst("in", "xx"));
System.out.println(str.replaceAll("[aei]", "xxx"));
erzeugt die Ausgabe
Dies ist exx ganz langer String
Dxxxxxxs xxxst xxxxxxn gxxxnz lxxxngxxxr Strxxxng
Im Beispiel mit replaceFirst() wird die Konstante "in" als regulärer
Ausdruck verwendet. Eine Konstante steht für sich selbst.
Im Beispiel mit replaceAll() wird "[aei]" als regulärer Ausdruck verwendet.
Dieser steht für die Menge der Zeichen {a,e,i}. Es wird also jedes Vorkommen
eines dieser Zeichen durch "xxx" ersetzt.
