有如下文本:
a    b  c                  d     e
我   2  11              3334     0很不规律,列之间都是空格,有的相隔7个,有的相隔3个,我现在有个想法,怎么能让连续的几个空格用一个空格来表示,那位朋友在这方面处理有经验,请告知一二,谢谢!
我想读取文本,然后再导入到access中,现在只要能把文本处理的有规律就可以了

解决方案 »

  1.   

    var b,d:TStringList;s:String;i:Integer;
    begin
        if OpenDialog1.Execute then
        begin
            b:=TStringList.Create;
            d:=TStringList.Create;
            b.LoadFromFile(OpenDialog1.FileName);
            for i:=0 to b.Count-1 do
            begin
                s:=b.Strings[i];
                while Pos('  ',s)>0 do
                s:=AnsiReplaceStr(s,'  ',' ');
                d.Add(s);
            end;
            d.SaveToFile(OpenDialog1.FileName);
            ShowMessage('ok!');
            b.Free;
            d.Free;
        end;
    end;
      

  2.   

    谢谢,
    AnsiReplaceStr这个函数可以用来用指定的字符串替换所有其他的字符串