delphi 截取网页字符串
时间:2011-09-24
来源:互联网
用 delphi idhttp.get(url)后 有一段N长的字符集 现在想截取其中一些东西
例子 <td class="bg3" nowrap>24001</TD>
<td class="bg3" nowrap>27,<span class="red">546</span></TD>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>5</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'><span class='ballRed2'>4</span></td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'><span class='ballRed3'>6</span></td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<TD class="bg3">10</TD>
<TD class="bg3">15</TD>
<td class="bg3">小</td>
<td class="bg3">大</td>
<td class="bg3">双</td>
<td class="bg3">双</td>
</TR>
<tr>
<td class="bg3" nowrap>24002</TD>
<td class="bg3" nowrap>06,<span class="red">619</span></TD>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>6</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'><span class='ballRed2'>1</span></td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'><span class='ballRed3'>9</span></td>
<TD class="bg3">10</TD>
<TD class="bg3">16</TD>
<td class="bg3">小</td>
<td class="bg3">大</td>
<td class="bg3">单</td>
<td class="bg3">单</td>
</TR>
<tr>
<td class="bg3" nowrap>24003</TD>
<td class="bg3" nowrap>36,<span class="red">175</span></TD>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>1</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
怎么截取出 24001 27,<span class="red">546 ... 24003 36,<span class="red">175
'<td class="bg3" nowrap>' 这个可能是唯一的
例子 <td class="bg3" nowrap>24001</TD>
<td class="bg3" nowrap>27,<span class="red">546</span></TD>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>5</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'><span class='ballRed2'>4</span></td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'><span class='ballRed3'>6</span></td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<TD class="bg3">10</TD>
<TD class="bg3">15</TD>
<td class="bg3">小</td>
<td class="bg3">大</td>
<td class="bg3">双</td>
<td class="bg3">双</td>
</TR>
<tr>
<td class="bg3" nowrap>24002</TD>
<td class="bg3" nowrap>06,<span class="red">619</span></TD>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>6</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'><span class='ballRed2'>1</span></td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1_3'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'> </td>
<td class='bg1'><span class='ballRed3'>9</span></td>
<TD class="bg3">10</TD>
<TD class="bg3">16</TD>
<td class="bg3">小</td>
<td class="bg3">大</td>
<td class="bg3">单</td>
<td class="bg3">单</td>
</TR>
<tr>
<td class="bg3" nowrap>24003</TD>
<td class="bg3" nowrap>36,<span class="red">175</span></TD>
<td class='blue1'> </td>
<td class='blue1'><span class='ballRed1'>1</span></td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
<td class='blue1'> </td>
怎么截取出 24001 27,<span class="red">546 ... 24003 36,<span class="red">175
'<td class="bg3" nowrap>' 这个可能是唯一的
作者: fyx1200 发布时间: 2011-09-24
找人帮忙!!!
作者: fyx1200 发布时间: 2011-09-24
分析<td class="bg3" nowrap>这个字符在你要获取的字符前,是否出现的次数是固定的,是的话,以此为依据,用Tstringlist装载网页内容,找到<td class="bg3" nowrap>这个字符(出现次数)的位置后面,就是你要的数据。
或者,提供你的页面地址,让大家更容易给你分析。
或者,提供你的页面地址,让大家更容易给你分析。
作者: gzzai 发布时间: 2011-09-24
就是体育彩票中的开奖期数 和中奖号码
作者: fyx1200 发布时间: 2011-09-24
正则表达式是字串处理的最佳手段,如果你用delphi Xe2
就可以用,EX:
implementation
uses RegularExpressions;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
r:TRegex;
m:TMatch;
begin
r:=Tregex.Create('\d+'); //在一串字符中找到数字
m:=r.Match('aaa235432aaaa');
if m.Success then
ShowMessage(m.Value)
else
ShowMessage('no Find!');
end;
其它版本可以在网上找一下相应的控件,我一直用这个:
http://regexpstudio.com/TRegExpr/TRegExpr.html
它有源码和例子
就可以用,EX:
implementation
uses RegularExpressions;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
r:TRegex;
m:TMatch;
begin
r:=Tregex.Create('\d+'); //在一串字符中找到数字
m:=r.Match('aaa235432aaaa');
if m.Success then
ShowMessage(m.Value)
else
ShowMessage('no Find!');
end;
其它版本可以在网上找一下相应的控件,我一直用这个:
http://regexpstudio.com/TRegExpr/TRegExpr.html
它有源码和例子
作者: keiy 发布时间: 2011-09-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28