Warum ersetzen ersetze zuerst und ersetzenAlle andere Ergebnisse?

9

Der folgende Code setzt str auf "testet"

%Vor%

Wo der folgende Code es auf "Tests" setzt

%Vor%

Ich hätte erwartet, dass beide Operationen dasselbe Ergebnis liefern würden. Kann jemand erklären, warum replaceAll am Ende der Zeichenfolge ein zusätzliches s hinzufügt?

    
cgTag 18.10.2012, 05:29
quelle

1 Antwort

5

Dies liegt daran, dass "(.*)$" zwei Zeichenfolgen von "test" , "test" und die leere Zeichenfolge ("") erfasst. Also wird replaceAll zwei "s" hinzufügen.

    
Matthew Farwell 18.10.2012, 05:35
quelle

Tags und Links