Hallo himitsu,
folgender Test der Funktion schlägt fehl:
Delphi-Quellcode:
dummy:='Text Old1 Old2 old1 old2 Old1 Old2 old1 old2 Text';
//Ohne Flags = Nur die ersten Funde und Case Sensitive
ergebnis := StringReplaceX(dummy, ['Old1', 'Old2'], ['New1', 'New2'], []);
Memo.Lines.Add('StringReplaceX('+dummy+', [Old1, Old2], [New1, New2], []): '+crlf+
' '+ergebnis);
Assert(ergebnis='Text New1 New2 old1 old2 Old1 Old2 old1 old2 Text');
Oder habe ich die Funktionsweise nicht richtig verstanden?
Ich dachte, dass die jeweils ersten Treffer von Old1 durch New1 und Old2 durch New2 ersetzt werden würden...
Gruß,
Stefan