delphi怎么获取字符串之间多个字符内容?
delphi 如何循环获取网页源码中两个字符串之间的内容,并写入数组
function GetStr(Str,StrBegin,StrEnd,strxunhuan:string;Isxunhuan :Boolean = false):string;
str 全部文本
StrBegin :开始文本
StrEnd :结束文本
返回 :开始文本和结束文本之间的文本内容
isxunhuan(数组) : false(默认)的话不循环获取,true的话循环获取 (可不输入)
这类任务建议使用正则表达式来完成。
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure StrSplite(AStr,ASBegin,ASEnd:string;AStrings:TStrings;AIsXunHun:Boolean=True);
var
iB,iE:Integer;
s:string;
begin
iB:=Pos(ASBegin,AStr);
if iB>0 then
begin
iE:=Pos(ASEnd,AStr);
if iE>0 then
begin
iB:=iB+length(ASBegin);
s:=Copy(AStr,iB,iE-iB);
AStrings.Add(s);
if AIsXunHun then
begin
AStr:=Copy(AStr,iE+length(ASEnd),length(AStr));
StrSplite(AStr,ASBegin,ASEnd,AStrings,AIsXunHun);
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.Clear;
StrSplite(Memo1.Text,edit1.Text,edit2.Text,Memo2.Lines,True);
end;