uses StrUtilsprocedure TForm1.Button1Click(Sender: TObject); var s: string; begin s:= 'aaabbbbddeeff#dddvvbxvvb#'; s:= leftstr(s,pos('#',s)-1); showmessage(s); end;
function ExtractString(const aStr: string; var Pos: Integer): string; var I: Integer; begin I := Pos; while (I <= Length(aStr)) and (aStr[I] <> '#') do Inc(I); Result := Trim(Copy(aStr, Pos, I - Pos)); if (I <= Length(aStr)) and (aStr[I] = '#') then Inc(I); Pos := I; end;var Pos:integer; lStr:String; begin Pos:=1; lStr:='aaabbbbddeeff#dddvvbxvvb#' while Pos <= Length(lStr) do begin ShowMessage(ExtractString(lStr, Pos)); // do something with Name end; end;
procedure TForm1.Button1Click(Sender: TObject); var s,t: string; ss: Tstringlist; i: integer; begin ss:= TStringlist.Create; s:= 'aaabbbbddeeff#dddvvbxvvb#'; t:= s; while pos('#',s) > 0 do begin t:= leftstr(s,pos('#',s)-1); ss.Add(t); s:= copy(s,pos('#',s)+1,pos('#',s)); end; for i:= 0 to ss.Count-1 do showmessage(ss.Strings[i]); end;
var sl: TStringList; begin s := TStringList.Create; try s.Delimiter :='#'; s.CommaText := 'aaabbbbddeeff#dddvvbxvvb#'; finally s.Free; end; end;这样以后,则 s.String[0]=aaabbbbddeeff , s.string[1]=dddvvbxvvb
var
s: string;
begin
s:= 'aaabbbbddeeff#dddvvbxvvb#';
s:= leftstr(s,pos('#',s)-1);
showmessage(s);
end;
function ExtractString(const aStr: string; var Pos: Integer): string;
var
I: Integer;
begin
I := Pos;
while (I <= Length(aStr)) and (aStr[I] <> '#') do Inc(I);
Result := Trim(Copy(aStr, Pos, I - Pos));
if (I <= Length(aStr)) and (aStr[I] = '#') then Inc(I);
Pos := I;
end;var
Pos:integer;
lStr:String;
begin
Pos:=1;
lStr:='aaabbbbddeeff#dddvvbxvvb#'
while Pos <= Length(lStr) do
begin
ShowMessage(ExtractString(lStr, Pos));
// do something with Name
end;
end;
var
s,t: string;
ss: Tstringlist;
i: integer;
begin
ss:= TStringlist.Create;
s:= 'aaabbbbddeeff#dddvvbxvvb#';
t:= s;
while pos('#',s) > 0 do
begin
t:= leftstr(s,pos('#',s)-1);
ss.Add(t);
s:= copy(s,pos('#',s)+1,pos('#',s));
end; for i:= 0 to ss.Count-1 do
showmessage(ss.Strings[i]);
end;
sl: TStringList;
begin
s := TStringList.Create;
try
s.Delimiter :='#';
s.CommaText := 'aaabbbbddeeff#dddvvbxvvb#';
finally
s.Free;
end;
end;这样以后,则
s.String[0]=aaabbbbddeeff , s.string[1]=dddvvbxvvb
copy(str,1,pos('#',str)-1)