var a,b,str:string; i:integer; begin str := 'dfdfd*advc'; i := Pos('*',str); ShowMessage(Copy(str,1,i-1)); ShowMessage(Copy(str,i+1,Length(str)-i)); end;
谢谢bdmh,想请教一下MKD,你说的第一种方法是如何实现呢?我不是太会,麻烦详细点好吗?
第一种方法: procedure TForm1.Button1Click(Sender: TObject); var i: integer; str: TStringList; begin str := TStringList.Create; try str.Delimiter := '*'; str.DelimitedText := '11*18'; for i:=0 to str.Count-1 do showmessage(str[i]); finally str.Free; end; end;
var a,b,str:string; i:integer; begin str := 'abc*def'; a :=Copy(str, 1, Pos('*',str) -1); System.Delete(str, 1, Pos('*', str)); end;結果是a = abc str = def
一种是根据*分隔符,用Tstringlist分成数组
另外一种copy及pos,length 的结合使用
var
a,b,str:string;
i:integer;
begin
str := 'dfdfd*advc';
i := Pos('*',str);
ShowMessage(Copy(str,1,i-1));
ShowMessage(Copy(str,i+1,Length(str)-i));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
str: TStringList;
begin
str := TStringList.Create;
try
str.Delimiter := '*';
str.DelimitedText := '11*18';
for i:=0 to str.Count-1 do
showmessage(str[i]);
finally
str.Free;
end;
end;
a,b,str:string;
i:integer;
begin
str := 'abc*def';
a :=Copy(str, 1, Pos('*',str) -1);
System.Delete(str, 1, Pos('*', str));
end;結果是a = abc
str = def