Funktion zur String-Ersetzung einsetzen

Nach einem Teilstring über einen regulären Ausdruck zu suchen, und diesen dann nach einer Transformation wieder zurückzuschreiben ist eine häufige Operation, für die es in Java 9 zwei neue Methoden gibt.

  • String replaceFirst(Function<MatchResult, String> replacer)
  • String replaceAll(Function<MatchResult, String> replacer)

Beispiel

String s = Pattern.compile( "(\\d+)\\s+[€|EUR]+" )

                  .matcher( "2 Perlen, 10 € in bar und 10000 EUR auf dem Konto." )

                  .replaceAll( matchresult ->

                    matchresult.group( 1 ).length() < 4 ? "wenig Kohle" : "viel Kohle" );

System.out.println( s ); // 2 Perlen, wenig Kohle in bar und viel Kohle auf dem Konto.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert