Удалить весь экземпляр переменной подстроки между тегами в Delphi

Я извлекаю читаемый текст из HTML в строку, и мне нужно удалить существующий текст между<!-- и--> теги. Какой самый эффективный способ добиться этого?

Сейчас я делаю это так:

function RemoveIEScripts(const s: string): string;
var
  i: Integer;
  InTag: Boolean;
begin
   Result := '';
   InTag := False;
   for i := 1 to Length(s)-3 do
   begin
      if (s[i] = '<') and (s[i+1] = '!') and (s[i+2] = '-') then
         inTag := True
      else if (s[i] = '-') and (s[i+1] = '-') and (s[i+2] = '>') then
             inTag := False
           else if not InTag then
      Result := Result + s[i];
   end;
end;

Есть лучший способ сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос