我有一个asp的文本文件,要从里面读取一部分内容,格式是固定的279行 <a href="detailInter~classid~1~userID~195005.asp" target="_blank" style="font-size: 12px; font-family: Verdana;color: #333333"><strong>SICA</strong></a><br>
这行要读取  userID~后到.asp前的  ID号 195005283行 <td height="7"><span class="companyDepot-01">MANZANA 9, GALPON 51, ZOFRI, IQUIQUE</span></td>
这行要读取 <span class="companyDepot-01"></span>之间的内容MANZANA 9, GALPON 51, ZOFRI, IQUIQUE286行 <td><div align="center" class="companyDepot-02">Mr. FRANCISCO LEE W.</div></td>
这行要读取<div align="center" class="companyDepot-02"></dev>之间的内容Mr. FRANCISCO LEE W.287 <td><div align="center" class="companyDepot-03">[email protected]</div></td>
这行要读取<div align="center" class="companyDepot-03"></dev>之间的邮址[email protected]请问如何处理啊?

解决方案 »

  1.   

    帮你写一个,其他的自己照样子做吧!
    var
        TmpStr : String;
        Start, End : Integer;    ID : String;
    begin
        TmpStr := '<a href="detailInter~classid~1~userID~195005.asp" target="_blank" style="font-size: 12px; font-family: Verdana;color: #333333"><strong>SICA</strong></a><br/>';
        
        Start := Pos ( TmpStr, 'userID~' );
        End   := Pos ( TmpStr, '.asp'    );    if ( Start > 0 ) and ( End > 0 ) then
            ID := Copy ( TmpStr, Start + 7, End - Start );    .....
    end;
      

  2.   

    呵呵,我也帮你写了一个函数,你试一下:
    function TForm1.SearchInAsp(AspFileName,StartSunStr,FinishSubStr:string):string;
    var
       AspFile:TextFile;
       TempStr,TempStr2:String;
    begin
       result:='';
       assignfile(aspfile,AspFileName);
       reset(aspfile);
       while not eof(aspfile) do
          begin
          readln(aspfile,TempStr);
          if pos(StartSunStr,TempStr)>0 then
             begin
             while (pos(FinishSubStr,TempStr)<1) and (not eof(aspfile)) do
                   begin
                   readln(aspfile,TempStr2);
                   TempStr:=TempStr+TempStr2;
                   end;
             Result:=copy(TempStr,pos(StartSunStr,TempStr)+length(StartSunStr),pos(FinishSubStr,TempStr)-pos(StartSunStr,TempStr)-length(StartSunStr));
             end;
          if Result<>'' then break;
          end;
       closefile(aspfile);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
       edit1.Text:=self.SearchInAsp('c:\a.asp','userID~','.asp');
    end;
    //注意,在*.asp的html代码里,极可能出现<span>.....</span>等写在多行的情况(本函数已作这种处理)。也极可能出现行首有空格等情况(本函数未处理)。所以,实际应用中,你要考虑各种异常,再改进。