用如下函数 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;
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;
//对不起个位先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.