delphi 如何循环获取网页源码中两个字符串之间的内容

mzwcs 2015-09-17 03:36:00
delphi 如何循环获取网页源码中两个字符串之间的内容,并写入数组
function GetStr(Str,StrBegin,StrEnd,strxunhuan:string;Isxunhuan :Boolean = false):string;
str 全部文本
StrBegin :开始文本
StrEnd :结束文本
返回 :开始文本和结束文本之间的文本内容
isxunhuan(数组) : false(默认)的话不循环获取,true的话循环获取 (可不输入)

自己写了个不能循环的,循环的怎么写呢?
begin
in_star:=AnsiPos(strbegin,Str)+length(strbegin);
in_end:=AnsiPos(strend,Str);
result:=copy(Str,in_star,in_end-in_star);
end

求大神帮忙写个函数,感激不尽
...全文
840 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
让缘随风 2017-05-19
  • 打赏
  • 举报
回复
我也有类似问题,请问解决了吗,麻烦把正确的函数及用法贴出来一下,谢谢!
bdmh 2015-09-18
  • 打赏
  • 举报
回复
你用正则好了,指定首尾字符串,直接就给你返回所有的结果了
wdonghai 2015-09-17
  • 打赏
  • 举报
回复
...... 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;
pathletboy 2015-09-17
  • 打赏
  • 举报
回复
这类任务建议使用正则表达式来完成。
源码下载地址: https://pan.quark.cn/s/860a2ecd6390 uapp.dev uapp 能做什么 uapp源自跨平台开发的最佳实践, 通过集成 uni-app, electron, tauri,让开发者仅需维护一套代码,就能横扫所有平台。 uapp支持所有的手机端(android, ios),支持所有的电脑端(windows, mac osx, linux),支持所有的小程序,浏览器插件等等。 uapp让Web开发者能搞更多事情,会H5就可以无限制重构一切软件。 [x] 开发微信小程序时,仅运行 ,就能生成小程序代码,并直接打开微信开发者工具加载。 [x] 开发APP离线基座,仅运行 ,就能生成自定义基座安装包,且自动发布到 hbx 工程下面直接使用。 [x] 可以查看包名, 签名 md5, dcloudkey, jwt 等开发用到的各种信息。 多一个平台,就多了一个流量渠道,多一个平台,就多个用户选择的理由,而做这些事,仅需维护一套代码。 哪怕只开发一个平台,同样花时间写代码,为什么不选择复用价值更高的方法呢。 一、先安装 uappsdk 1、 安装 uapp 命令 2、下载 uniapp 离线打包的 SDK 注意和.uappsdk区分开,此处的uniapp离线包的SDK是指dcloud 官方发布的 android 离线打包SDK: ios 离线打包SDK: 解压其的SDK目录,放入 .uappsdk 文件夹里,最终 .uappsdk 文件夹结构如下: SDK 相关文件都放在当前用户的 $HOME/.uappsdk 目录下。 需要引入哪些模块,请务必仔细阅读官方的 SDK 模块依赖说明,模块多了会影响APP审核,少了会影响功能使用。 ...
内容概要:本文系统介绍了基于Koopman理论识别机器人动力学非线性系统的方法,并提供了完整的Matlab代码实现。该方法通过将复杂的非线性动力学系统映射到高维线性空间,利用数据驱动方式构建可解析的系统模型,有效解决了传统建模在强非线性场景下的局限性。文档不仅涵盖理论推导,还强调科研应兼具严谨逻辑与创新思维,倡导“借力”与“创新”相结合的研究范式。资源包内含多个相关科研方向的代码实例与案例分析,适用于系统建模、机器人控制、非线性系统辨识等领域的研究人员进行学习、复现与拓展。; 适合人群:具备控制系统、机器人动力学或非线性系统建模基础知识,正在从事相关领域科研工作的硕士、博士研究生及科研人员。; 使用场景及目标:①深入理解Koopman算子理论及其在非线性系统建模的核心应用;②通过Matlab代码复现机器人动力学识别流程,提升系统辨识与仿真能力;③为开展数据驱动控制、智能建模、机器人学习等前沿研究提供方法支撑和技术积累。; 阅读建议:建议按照文档结构循序渐进阅读,重点结合理论讲解与代码实现部分进行对照学习,充分利用网盘提供的完整资源开展实践操作,以深化对Koopman方法在实际工程问题应用的理解与掌握。

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧