看看这个。
function ReplaceAll( S : string; Const sFind, sReplace : string; IsIgnoreCase : Boolean = False ) : string;
var
Rec, iLenFind, iLenRep : Integer;
s1, s2, sTemp : string;
begin
result := S ;
if IsIgnoreCase then
begin
s1 := UpperCase(sFind) ;
s2 := UpperCase(sReplace) ;
end else
begin
s1 := sFind;
s2 := sReplace;
end;
if s1 = s2 then Exit;
iLenFind := Length(sFind) ;
iLenRep := Length(sReplace);
rec := 1;
while rec <= Length(S) - iLenFind + 1 do
begin
sTemp := Copy(S, rec, iLenFind);
if IsIgnoreCase then
sTemp := UpperCase(sTemp);
if sTemp = s1 then
begin
Delete( Result, Rec, iLenFind );
Insert( sReplace, Result, Rec );
Rec := Rec + iLenRep;
end else
begin
rec := rec + 1;
end;
end;
end;