如何删除 delphi 中某行之前的文本

How do I remove text from before a certain line in delphi

<h1 class="tt">example</h1></div><div class="bl_la_main"><div class="divtext">

我正在尝试删除 <div class="bl_la_main"> 之前的所有内容,但保留之后的所有内容。

如有任何帮助,我们将不胜感激。谢谢

P.S: 由于我误解了问题,所以我首先创建了“取前项”功能。

这样就可以了

procedure TForm1.Button1Click(Sender: TObject);
var
 HTML: string;
begin
 HTML := '<h1 class="tt">example</h1></div><div class="bl_la_main"><div class="divtext">';
 Delete(HTML, Pos('<div class="bl_la_main">', HTML) - 1, Length(HTML) - Pos('<div class="bl_la_main">', HTML));
 ShowMessage(HTML);
end;

如果我们需要让它发挥作用;

function parseHTML(html: string; substr: string): string;
begin
 Delete(HTML, Pos(substr, HTML) - 1, Length(HTML) - Pos(substr, HTML));
 Result := HTML;
end;

使用:

function parseHTML(html: string; substr: string): string;
begin
 Delete(HTML, Pos(substr, HTML) - 1, Length(HTML) - Pos(substr, HTML));
 Result := HTML;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 HTML: string;
begin
 HTML := '<h1 class="tt">example</h1></div><div class="bl_la_main"><div class="divtext">';
 ShowMessage(parseHTML(HTML, '<div class="bl_la_main">'));
end;

结果:

<h1 class="tt">example</h1></div">

我单独创建了它,以实用的方式在之前和之后进行。

function parseHTMLAfter(html: string; substr: string): string;
begin
 Delete(HTML, Pos(substr, HTML) - 1, Length(HTML) - Pos(substr, HTML));
 Result := HTML;
end;

function parseHTMLBefore(html: string; substr: string): string;
begin
 Delete(HTML, 1, Pos(substr ,html) - 1);
 Result := HTML;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 HTML: string;
begin
 HTML := '<h1 class="tt">example</h1></div><div class="bl_la_main"><div class="divtext">';
 ShowMessage(parseHTMLBefore(HTML, '<div class="bl_la_main">'));
end;

结果:

 <div class="bl_la_main"><div class="divtext">