搜索具有常量开始和结束字符的可变长度字符串

时间:2012-07-19 15:58:37

标签: delphi delphi-xe2

  

可能重复:
  Delete all instance of variable substring between tags in Delphi

这可能是一个非常基本的事情,但由于某种原因,我无法弄明白。我需要搜索富文本编辑,查找以常量第一个和最后一个字符开头的字符串。文件使用:

<sometextofvariablelength>

作为动态搜索和替换功能的通配符。在文档打印之前,我需要快速解析文本并删除包含在&lt;&gt;中的任何内容。仍留在文件上。

清理我实际需要帮助的内容。我需要知道如何搜索特定字符,在这种情况下是'&lt;'并寻找下一个'&gt;'并删除整个字符串。

更新:使用以下的建议答案:

function ClearWildCards(const s: string): string;
var
    I, J: integer;
begin
    Result := s;
    I := 1;
    repeat
        I := PosEx('<', Result, I);
        if I = 0 then
            Break;
        J := PosEx('>', Result, I + 4);
        if J = 0 then
            Break;
        Delete(Result, I, (J + 3) - I);
    until False;
end;

然后

DocPreview.Text := ClearWildCards(DocPreview.Text);

确实可以根据需要清除通配符,但它会产生另一个问题。该文件丢失了所有格式。

0 个答案:

没有答案