function take(str:string):string; var t:set of char; len,i:integer; c:char; s:string; begin t:=[',','.']; s:=''; len:=length(str); for i:= 1 to len do begin c:=copy(s,i,1); if not c in s then s:=s+c; i:=i+1; end; take:=s; end;
//将以“,”为为分隔符的字符串分离开来,返回原字符串str中第i个子字符串 function getString(i:integer;Str:string):string; var lst:Tstringlist; begin lst:=tstringlist.Create; lst.Delimiter:=','; lst.DelimitedText:=Str ; Result:=lst.strings[i-1]; end;
str:=array[0..3]of string; str1:='12,34,56,7,8,90'; Position:integer; for i;=0 to 4do begin Position:=Pos(str,','); str[1]:=copy(str,1,Position-1); str1:=delete(str,1,position) end;
function take(str:string):string; var t:set of char; len,i:integer; c:char; s:string; begin t:=[',','.']; s:=''; len:=length(str); for i:= 1 to len do begin c:=copy(str,i,1); if not c in t then s:=s+c; i:=i+1; end; take:=s; end;
var
t:set of char;
len,i:integer;
c:char;
s:string;
begin
t:=[',','.'];
s:='';
len:=length(str);
for i:= 1 to len do
begin
c:=copy(s,i,1);
if not c in s then
s:=s+c;
i:=i+1;
end;
take:=s;
end;
function getString(i:integer;Str:string):string;
var
lst:Tstringlist;
begin
lst:=tstringlist.Create;
lst.Delimiter:=',';
lst.DelimitedText:=Str ;
Result:=lst.strings[i-1];
end;
str1:='12,34,56,7,8,90';
Position:integer;
for i;=0 to 4do
begin
Position:=Pos(str,',');
str[1]:=copy(str,1,Position-1);
str1:=delete(str,1,position)
end;
如果都是相同的分隔符就用TStringList来分开离,方法简单快捷(在下经常使用)。
如果是不同的分隔就要写自定义函数来分离,具体咋写就看楼上各位的方法就OK了。
var
t:set of char;
len,i:integer;
c:char;
s:string;
begin
t:=[',','.'];
s:='';
len:=length(str);
for i:= 1 to len do
begin
c:=copy(str,i,1);
if not c in t then
s:=s+c;
i:=i+1;
end;
take:=s;
end;