请问各位高手:要处理一个文本:
文本内容如下:001023023    军服四倒伏  jidso
001753984     机房价位     jhufds
002784239    军服爱哦     jfffffs
002784321    一f减肥        fjsffji
00289008    肌肤奥阿       jfaijo
要将该文本,按照文本内容中第一列的头三个数字来进行拆分,就是头三个数字是001的行给找出保存为一个文本,然后再把头三个数字是002的行找出保存为另一个文本,这个用delphi要怎样去实现它呢~?小菜鸟望各路大侠侠义相助

解决方案 »

  1.   

    var
      i:integer;
    begin
      for i:=0 to MemoS.Lines.Count do
        begin
        if Leftstr(MemoS.Lines.Strings[i],3)='001' then Memo1.Lines.Add(MemoS.Lines.Strings[i]);
        if Leftstr(MemoS.Lines.Strings[i],3)='002' then Memo2.Lines.Add(MemoS.Lines.Strings[i]);
        end;
      

  2.   

    1楼给出答案了
    如果想保存为文件
    memo1.Lines.SaveToFile('c:\temp1.txt');
      

  3.   

    这种数据结构,见意改成xml
    那读起来方便,取起来也方便
      

  4.   

    就是一个.txt的文本,然后要将其中的内容按头一列的前三个数字来拆分为2个文本~,也是要.txt的~
    对了~,如果我是想一次性处理多个.txt文本呢~?
    将每个.txt文本都分别按照其内容中某一个列,(也可能是其它列)的前三个数字来拆分
    要怎么实现~?
      

  5.   

    使用TStringList的LoadFromFile(文件明)把文件内容读到TStringList的变量中然后对每一行的内容根据你的要求进行判断即可
    如:
    var
      tmp,msl:TStringList;
      i,j:Integer;
    begin
      msl:=TStringList.Create;
      tmp:=TStringList.Create;
      msl.LoadFromFile('文件名.txt');
      for j:=0 to msl.Count-1 do
      begin
      //加入你的处理
      end;
    end;