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.