(Gast)
n/a Beiträge
|
AW: Zeichen in String ersetzen
20. Dez 2016, 20:27
Falls es in D5 noch kein ReplaceStr, AnsiReplaceText, StringReplace oder dergleichen gab, schreib dir einfach eine eigene.
Oder such nach FastCode, da solltest Du auch das eine oder andere finden.
Gruß
K-H
Oder das hier. Benutze ich schon seit Jahren und hatte noch nie Probleme.
Delphi-Quellcode:
function StringReplaceEx(const aString, FromStr, ToStr: string; bCaseSensitive: Boolean = False): string;
var
i: Integer;
aStringA, aFromStrA, aToStrA: string;
begin
aStringA := aString;
aFromStrA := FromStr;
aToStrA := ToStr;
if FromStr = aStringA then
begin
Result := aStringA;
Exit;
end;
Result := '';
if not bCaseSensitive then
i := Pos(UpperCase(aFromStrA), AnsiUpperCase(aStringA))
else
i := Pos(aFromStrA, aStringA);
while i > 0 do
begin
if i > 1 then
Result := Result + Copy(aStringA, 1, i - 1);
Result := Result + aToStrA;
Delete(aStringA, 1, i + Length(aFromStrA) - 1);
if not bCaseSensitive then
i := Pos(UpperCase(aFromStrA), AnsiUpperCase(aStringA))
else
i := Pos(aFromStrA, aStringA);
end;
Result := Result + aStringA;
// Aufruf z.B. in einem Button
showmessage( StringReplaceEx('C++ ist toll', 'C++', 'Delphi') );
|
|
Zitat
|