12092600000501,0009190717,2012-09-26,12:00:56,0,0,112092600000502,0014700545,2012-09-26,12:00:58,0,0,112092600000503,0012434202,2012-09-26,12:00:59,0,0,112092600000504,0012441668,2012-09-26,12:01:01,0,0,112092600000505,0012436205,2012-09-26,12:01:02,0,0,112092600000506,0012441674,2012-09-26,12:01:04,0,0,112092600000507,0000990369,2012-09-26,12:01:06,0,0,112092600000508,0000990814,2012-09-26,12:01:08,0,0,1删掉第一个逗号前的数字比如:12092600000501,0009190717,2012-09-26,12:00:56,0,0,1删掉后是这个样的0009190717,2012-09-26,12:00:56,0,0,1

解决方案 »

  1.   

    var i:integer;
        s:string;
    begin
      s:='12092600000501,0009190717,2012-09-26,12:00:56,0,0,1';
      i:=pos(',',s);
      Delete(s,1,i);
      showmessage(s);
    end;
      

  2.   

    也可以这样:
    var s:string;
    begin
      s:='12092600000501,0009190717,2012-09-26,12:00:56,0,0,1';
      Delete(s,1,pos(',',s));
      showmessage(s);
    end;
      

  3.   

    那就将后面的段导入数据库里吧,如果是list类的不如此删除,我就不懂其他办法了,抱歉。
      

  4.   

    用TStringList读进来,然后用gzzai的办法逐行删
      

  5.   

    如果只是要个删除后的结果只要把这些数据复制到word中,按住alt选中第一排,下拉到底。删除就OK了。
      

  6.   

    上面只是开个玩笑。其实可以用TStrings把文件读入,以单行分隔,再采用一楼的方法处理单行。
      

  7.   

    大概意思是这样:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Tsl: TStrings;
      I: Integer;
      s: array of string;
    begin
      Tsl:= TStringList.Create;
      Tsl.LoadFromFile('x.txt');
      SetLength(s, tsl.Count - 1);
      for I := Tsl.Count- 1 downto 0 do
      begin
        s[i]:= Tsl.Strings[i];
        j:=pos(',',tsl.Strings[i]);
        Delete(s[i],1,j);
        showmessage(s[i]);
        {之后建个新文件写入...}
      end;
      tsl.Free;
    end;
      

  8.   

    楼上,应该是:SetLength(s, tsl.Count);
      

  9.   

    还有既然要写入文件就不要showmessage了
      

  10.   

    楼主疑似要写CSV转换器,关注一下。。不过这玩意核心技术就是字符串操作
      

  11.   

    用TStringList的方法逐行删除,是最简单的了。每一行里面,因为你的逗号前的字符串长度已经固定了,也可以用copy之类的函数。