我想从一个网页源代码字符串s中提取出一部分数据字符串d.d的前后字符串 分别是prestr和nextstr.怎么写这个函数?
我用pos和mid组合来写,结果总是不正确.
我的函数片断:function getdata(s:string,prestr:string,nextstr:string,d:string):string;
var
pre,next:integer;begin
pre:=pos(prestr,s)+length(d) ;
next:=pos(nextstr,s)-1; getdata:=midstr(s,pre+1,next-pre);end;这个返回值和原来位置的字符串相差很多位置---具体的说是向后移动了很多位置,这是为什么?
请问还有更好的高效率的方法吗?谢谢你。
我用pos和mid组合来写,结果总是不正确.
我的函数片断:function getdata(s:string,prestr:string,nextstr:string,d:string):string;
var
pre,next:integer;begin
pre:=pos(prestr,s)+length(d) ;
next:=pos(nextstr,s)-1; getdata:=midstr(s,pre+1,next-pre);end;这个返回值和原来位置的字符串相差很多位置---具体的说是向后移动了很多位置,这是为什么?
请问还有更好的高效率的方法吗?谢谢你。
解决方案 »
- sql查询语句请教?只取各品种的最后一条记录?
- Delphi使用Variant操作EXCEL时,怎么知道打印范围
- 请问一个关于GRID方面的问题,在线等待。
- 一个倒霉的报表
- 各位介绍一下,想显示word文件用什么控件好?(别告诉我用RichEdit和嵌入Word)
- 真麻煩,怎樣做到不重复打印?比如前一個表有n個字段,
- delphi用BDE怎么直接连接到ACCESS
- 一个简单的问题请指教
- 有泉州地区的程序员吗?
- 请教关于DELPHI5.0编译问题...
- 我想实现在一个窗口中同时选中多个图片并且进行集体调亮的功能,如何实现同时多选图片的功能呢?
- 为什么Button1.FieldAddress('Name')总返回nil?
procedure TForm1.Button2Click(Sender: TObject);
var
a : TStringList;
i : integer;
begin
a := TStringList.Create;
a.Delimiter := '.';
a.DelimitedText := 'abcd.12345';
for i := 0 to a.Count-1 do
showmessage(a[i]);
a.Free;
end;
function getdata(s:string;prestr:string;nextstr:string):string;
var
pre,next:integer;
begin
pre:=pos(prestr,s)+length(prestr) ;
next:=pos(nextstr,s)-1;
getdata:=midstr(s,pre+1,next-pre);
end;