字符串处理的问题,把一个有规则的字符串拆分为数组。(50分)

J

jadesun

Unregistered / Unconfirmed
GUEST, unregistred user!
比如一个字符串
s:='123123,1233,drwe,345,2sd,24234,sdsa'
我怎么样才能把它拆分为数组呢?
变成
t[0] = 123123
t[1] = 1222
t[2] = drwe
.....

希望写出完成的代码。
 
来自:dancemaple, 时间:2002-5-24 19:31:00, ID:1122209
--------------------------------------------------------------------
用TStrings的Delimiter属性:

// Delphi 6 通过

procedure TForm1.Button1Click(Sender: TObject);
const
s = '111,222,333,444,555,666';
var
StrList: TStringList;
begin
StrList := TStringList.Create;
try
StrList.Delimiter := ',';
StrList.DelimitedText := s;
// 验证
Memo1.Lines.Assign(StrList);
finally
FreeAndNil(StrList);
end;
end;
 
我能逐个读出数据吗?

比如我直接就要t[4]对应的数据。
 
StrList.Strings[],从0开始

t[4] = StrList.Strings[3]
 
多人接受答案了。
 
procedure TForm1.Button1Click(Sender: TObject);
type
data=array[1..99] of string;
var
s,s1:string;
sdata:data;
i,j:integer;
l:integer;
begin
l:=0;
j:=1;
s1:='';
s:=edit1.text;
i:=length(s);
while j<i do
begin
if s[j]<>',' then
begin
s1:=s1+s[j];
j:=j+1;
end
else
begin
sdata[l]:=s1;
s1:='';
j:=j+1;
l:=l+1;
end;
end;
end;
 
唉,你怎么这么懒,请问你为什么自己做不出?你碰到什么难点导致你无法解决这个问题?
 
顶部