Delphi 提取标签之间的字符串


本文整理自网络,侵删。

 
Function sExtractBetweenTagsB(Const s, LastTag, FirstTag: string): string;
var
  pLast,pFirst,pNextFirst : Integer;
begin
  pFirst := Pos(FirstTag,s);
  pLast := Pos(LastTag,s);
  while (pLast > 0) and (pFirst > 0) do begin
    if (pFirst > pLast) then // Find next LastTag
      pLast := PosEx(LastTag,s,pLast+Length(LastTag))
    else
    begin
      pNextFirst := PosEx(FirstTag,s,pFirst+Length(FirstTag));
      if (pNextFirst = 0) or (pNextFirst > pLast) then begin
        Result := Copy(s,pFirst,pLast-pFirst+Length(LastTag));
        Exit;
      end
      else
        pFirst := pNextFirst;
    end;
  end;
  Result := '';
end;

var
  s: String;

begin
  s := 'Delphi App Hello Hello SomeText here Hello Hello Hello This is a Test! Hello';
  WriteLn(sExtractBetweenTagsB(s,'Test','Hello'));
end.

输出:
Hello This is a Test

来源:https://stackoverflow.com/questions/30827180/delphi-extract-string-between-tags-duplicate-tags

相关阅读 >>

Delphi android.os获取sn号

Delphi 世界时间转换

Delphi 如何判断html编码格式,解决乱码问题

Delphi 如何在twebbrowsers之间传递数据

Delphi 用updateresource修改exe文件图标(已修正)

Delphi winapi: writeprivateprofilestring、getprivateprofilestring - 简单读写 ini 文件

Delphi xe5开发android程序调用电话相关功能(短信息和电话)

Delphi 修改webbrowser的内容

Delphi unigui程序部署到服务器

Delphi 判断是否为二进制文件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...