Delphi 关于Memo的问题

怎样把AAA和BBB 之间的内容替换为 CCC怎样删除倒数第2行与第二行
2024-12-13 23:14:40
推荐回答(1个)
回答1:

直接给实例,现在可以满足的,但是你完全可以变更一下,如在不知道具体是AAA和BBB等
procedure TForm1.Button1Click(Sender: TObject);
var
vstart,vend:Integer;
i:Integer;
vsubstr:String;
begin
//--删除AAA和BBB之间的
//-1.行与行之间
vstart:= Memo1.Lines.IndexOf('AAA');
vend:=Memo1.Lines.IndexOf('BBB');
for i:=vstart+1 to vend-1 do
begin
Memo1.Lines.Delete(i);
end;
Memo1.Lines.Insert(vstart+1,'CCC');
//--2.同行数据之间
vsubstr:=copy(Memo1.Lines.Text,Pos('AAA',Memo1.Lines.Text)+3,Pos('BBB',Memo1.Lines.Text)-Pos('AAA',Memo1.Lines.Text)-3);
Memo1.Lines.Text:=StringReplace(Memo1.Lines.Text,vsubstr,'CCC',[rfReplaceAll,rfIgnoreCase]);
//--删除倒数第二行和第二行
Memo1.Lines.Delete(Memo1.Lines.Count-2);
Memo1.Lines.Delete(1);
end;