Ich glaub in den
Jedi ist dafür was drine
und auch in der
DP gibt es schon mehrere unterschiedliche Implementationen für sowas
z.B.
MultiStringReplace
Aber nein, so langsam ist das mit der Schleife garnicht und notfalls kannst du auf einen PChar umsteigen,
denn nahezu alle fertigen Lösungen sind eher allgemeiner und nicht "genau" auf dein Problem zugeschnitten.
Delphi-Quellcode:
for i := 1 to Length(S) do
if (S[i] > #255) or CharInSet(S[i], [#0..#31, #128 ... ]) then
S[i] := ' ';
// oder
UniqueString(S);
P := PChar(S);
for i := Length(S) - 1 downto 0 do
if (P[i] > #255) or CharInSet(P[i], [#0..#31, #128 ... ]) then
P[i] := ' ';