好像不必要转化为 widestring,下面的测试通过procedure TForm1.btn1Click(Sender: TObject); function spliteString(aString: string;split:string;idx:integer ):string ;//不想调用 tstringlist ,否则程序又大了几十K,//不过,你可以把它们加上 var //Str:String; //ResultList:TStringList; I:Integer;begin Result:=''; i:=1; while pos(split, aString)>0 do begin Result:=copy(aString, 1, pos(split, aString)-1); aString:=copy(aString, pos(split, aString)+1, length(aString)-pos(split, aString)); if idx=i then exit; Inc(i); end; Result:=aString; end;var s:string;i:integer;begin s:='1111,bbbbb,中文字符,33333,33333' ; for i:=1 to 5 do showmessage(spliteString(s,',',i));end;