解决方案 »

  1.   

    先去的第一个</   之前的字符串 x
    再处理x取得第一个>之后的内容,即为Printed:其它两个以此类推
      

  2.   


    代码应该不复杂啊
    使用pos函数和copy函数可以实现
      

  3.   


    代码应该不复杂啊
    使用pos函数和copy函数可以实现S2 := copy(s,pos(';">',s)+3,pos('</',s)-pos(';">',s)-1);
      Showmessage(copy(s2,pos(';">',s2)+3,pos('</',s2)-pos(';">',s2)-3));我这样写,可以取到Printed:
    但后面的呢?怎么写循环。
      

  4.   

    可以读到流中,一个字符一个字符去判断,是否为分隔符,还是要的字段。 不管是变动还是不变动的,都是可以的截取的。你根据<> = "等来判断就行了,此外:AnsiExtractQuotedStr(P, '"')可以取p中双引号中的字符串,你也可以用下,可能更简单。
    http://bbs.csdn.net/topics/390853804 这里有例子的是没引号的,如果有引号可以结合上面的函数更简单点。
      

  5.   


    代码应该不复杂啊
    使用pos函数和copy函数可以实现S2 := copy(s,pos(';">',s)+3,pos('</',s)-pos(';">',s)-1);
      Showmessage(copy(s2,pos(';">',s2)+3,pos('</',s2)-pos(';">',s2)-3));我这样写,可以取到Printed:
    但后面的呢?怎么写循环。procedure TForm1.btn1Click(Sender: TObject);
    var
      nsl:TStringList;
      x,y:string;
      i,j:integer;
    begin
      x:='top:28.324;left:20.409;"><nobr>'+chr(13)
        +'<span style="font-size:9.111;">Printed:</span>'+chr(13)
        +'<span style="font-size:9.111;">09-Jul-2014</span>'+chr(13)
        +'<span style="font-size:9.111;">19:59:17</span>'+chr(13)
        +'</nobr></div>';
      ShowMessage(x);
      x:=StringReplace(x,' ','-', [rfReplaceAll]);
      nsl:=TStringList.Create();
      nsl.DelimitedText:=x;
      nsl.Delimiter:='/';
      for i:=0 to nsl.Count-1 do
      begin
        y:=nsl[i];
        if Pos('</span>',y)>0 then
        begin
          y:=copy(y,1,length(y)-1);
          j:=Pos('>',y);
          while j>0 do
          begin
            y:=Copy(y,j+1,Length(y));
            j:=Pos('>',y);
          end;
          y:=Copy(y,1,Pos('<',y)-1);
          ShowMessage(y);
        end;
      end;
      nsl.Free;
    end;
      

  6.   


    代码应该不复杂啊
    使用pos函数和copy函数可以实现S2 := copy(s,pos(';">',s)+3,pos('</',s)-pos(';">',s)-1);
      Showmessage(copy(s2,pos(';">',s2)+3,pos('</',s2)-pos(';">',s2)-3));我这样写,可以取到Printed:
    但后面的呢?怎么写循环。谢谢,那如果在SQL可以这样处理吗?
      

  7.   


    代码应该不复杂啊
    使用pos函数和copy函数可以实现S2 := copy(s,pos(';">',s)+3,pos('</',s)-pos(';">',s)-1);
      Showmessage(copy(s2,pos(';">',s2)+3,pos('</',s2)-pos(';">',s2)-3));我这样写,可以取到Printed:
    但后面的呢?怎么写循环。谢谢,那如果在SQL可以这样处理吗?sql里有substring、left、right函数来处理字符串