字符串分割有关问题,

字符串分割问题,急!!在线等
文本文件内有类似以下几行,其中以逗号拆分,但 '汽车运输公司(贷款买车,暂不过户) '内的逗号不能被分开,如何做?
‘01,abc,dd,E,汽车运输公司(贷款买车,暂不过户)’
先谢谢啦

------解决方案--------------------
procedure TMainForm.Button1Click(Sender: TObject);
var s,str:string;
MyList:TstringList;
i,j:integer;
begin
Mylist:=tstringlist.Create ;
mylist.Clear;
s:=edit1.Text; j:=0;
for i:=1 to length(edit1.Text) do
begin
if s[i] <> ', ' then
continue
else
j:=j+1; //判断是否是第四个,号
if j=4 then
begin
str:=copy(s,i+1,length(s)-i);
showmessage(str);
break;
end;
end;
setlength(s,i-1);
showmessage(s);
mylist.DelimitedText:=s;
for i:=0 to mylist.Count-1 do
begin
Showmessage(mylist.Strings[i]);
end;
end;
你自己测试一下看看,...比如 是这样的:1231,2341sdf,ferfw,sdfw,sdfe(ddf,sdfe),sdfeSDFE
得到的结果是: 1231 2341sdf ferfw sdfw sdfe(ddf,sdfe),sdfeSDFE (最后一个就是str)
------解决方案--------------------
procedure TForm1.Button1Click(Sender: TObject);
var
Flag : Boolean;
TmpStr : String;
i, j : Integer;
Start : Integer;
TmpStrLst : TStringList;
Len : Integer;
begin
TmpStr := Edit1.Text;
Start := 0;
Flag := true;
TmpStrLst := TStringList.Create;
Len := 0;

for i := 1 to Length ( TmpStr ) do
begin
if (TmpStr[i] = ', ') and Flag then
begin
TmpStrLst.Add ( Copy(TmpStr, Start, Len ) );
Start := i + 1;
Len := 0;
//ShowMessage ( 'ggg ');
end
else if TmpStr[i] = '( ' then
begin
Flag := false;
inc ( Len );
end
else if TmpStr[i] = ') ' then
begin
Flag := true;
inc ( Len );
end
else
inc ( len );
end;
TmpStrLst.Add ( Copy(TmpStr, Start, Len ) );

Memo1.Clear;
for i := 0 to TmpStrLst.Count - 1 do
Memo1.Lines.Add( TmpStrLst.Strings[i] );
end;