- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 删除指定字符串的所有实例
uses types, registry, dateUtils,
shlobj, shellapi, activex, comobj, strutils, psAPI, math,iniFiles;
function idxOf(s:string; a:array of string; isSorted:boolean=FALSE):integer;
var
r, b, e: integer;
begin
if not isSorted then
begin
result:=ansiIndexText(s,a);
exit;
end;
end;
function removestring(var a:TStringDynArray; idx:integer; l:integer=1):boolean;
begin
result:=FALSE;
if (idx<0) or (idx >= length(a)) then exit;
result:=TRUE;
while idx+l < length(a) do
begin
a[idx]:=a[idx+l];
inc(idx);
end;
setLength(a, idx);
end; // removestring
// remove all instances of the specified string
procedure removeStrings(find:string; var a:TStringDynArray);
var
i, l: integer;
begin
repeat
i:=idxOf(find,a);
if i < 0 then break;
l:=1;
while (i+l < length(a)) and (ansiCompareText(a[i+l], find) = 0) do inc(l);
removeString(a, i, l);
until false;
end; // removeStrings