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

求大神帮忙写个函数,感激不尽
...全文
855 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/a4b39357ea24 在C语言编程环境,多项式求和是一项常见的编程实践,它融合了数学理论、算法设计以及C语言的基础运用。此类程序可能包含对用户输入的多项式表达式进行解析,进而计算各项的总和。接下来将对这一主题进行深入阐述。 多项式在数学领域是一个基础性概念,它由常数、变量及指数通过线性方式组合而成,例如表达式`3x^2 + 2x - 1`。在C语言环境下,我们可以借助数组来表示多项式的各项系数,例如通过定义一个整型数组`int coefficients[] = {3, 2, -1}`来保存表达式`3x^2 + 2x - 1`的系数值。 1. **多项式解析**: 解析多项式的过程通常需要从用户处获取输入数据,如表达式`3x^2 + 2x - 1`。在C语言,可以利用`scanf()`函数来接收用户的输入。解析流程涉及到识别每个项的系数、变量及指数,这可能需要运用到字符串处理函数,例如使用`strtok()`函数来分割字符串,以及通过`atoi()`或`atof()`函数将字符串转换为数值类型。 2. **数据结构构建**: 为了高效地处理多项式,可以设计一个结构体用以存储每一项的系数和指数信息。例如: ```c typedef struct { int coefficient; int exponent; } Term; ``` 随后,可以选用链表或数组来存储这些结构体实例,以此来完整表示一个多项式。 3. **求和运算**: 求和操作可能包含两个阶段:(1) 对相同指数的项进行系数相加,(2) 将计算结果整合至最终的多项式表达式。在处理同次幂项时,需要遍历两个多项式,识别出具有相同指数的项...

16,741

社区成员

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

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