用如下函数 replace(s,'^',#9)即可
function replace(str,s1,s2:string;casesensitive:boolean):string;
var
i:integer;
s,t:string;
begin
s:='';
t:=str;
       repeat
       if casesensitive then i:=pos(s1,t) else i:=pos(lowercase(s1),lowercase(t));
       if i>0 then
          begin
          s:=s+Copy(t,1,i-1)+s2;
          t:=Copy(t,i+Length(s1),MaxInt);
          end
       else s:=s+t;
       until i<=0;
result:=s;
end;

解决方案 »

  1.   

    //不知道也来试
    //对不起个位先unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Memo1: TMemo;
        Memo2: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}const
      cText =
    '^kkkkk^bbbbb^cccc^ddddd^eeeee^'#13#10 +
    '^qqqqq^ddddd^sssss^pppppp^llll^'#13#10;const
      cStart = 88;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Memo1.Text := cText;
    //  Memo1.Lines.LoadFromFile(<FileName>);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      I, J, K, T: Integer;
      S, C: string;
      Index: Integer;
    begin
      Index := cStart;
      Memo2.Lines.Clear;
      for I := 0 to Memo1.Lines.Count - 1 do begin
        Memo2.Lines.Add('9999999');
        S := Memo1.Lines[I];
        T := 0;
        C := '';
        for J := 1 to Length(S) do begin
          if S[J] = '^' then begin
              Inc(T);
              case T of
                3: Memo2.Lines[I] := Memo2.Lines[I] + C + '      ';
                6: begin
                  for K := 1 to 5 - Length(C) do
                    C := C + C[1];
                  Memo2.Lines[I] := Memo2.Lines[I] + C + '  0  0    ';
                end;
              end;
              C := '';
          end else C := C + S[J];
        end;
        Memo2.Lines[I] := Memo2.Lines[I] + IntToStr(Index);
        Inc(Index);
      end;
    end;end.