如何让一个字符串(由多个小字符串,中间以逗号分隔开)转换成stringlist类
5个回答
2014-02-27
展开全部
这是我写的,可以达到你要求procedure TForm1.ButSplitClick(Sender: TObject);var Inipos:integer; Endpos:integer; SourceLen:integer; FoundLen:integer; Sourcestr:string; Tempstr:string; Foundstr:string; Mystring:TStrings; Flag:Boolean;begin Flag:=false; Sourcestr:=Trim(Edit1.text); Foundstr:=Trim(Edit2.text); SourceLen:=Length(Sourcestr); FoundLen:=Length(Foundstr); Endpos:=pos(Foundstr,Sourcestr); inipos:=1; try Mystring:=TStringList.Create ; While Endpos<>0 do begin Tempstr:=Copy(Sourcestr,Inipos,(Endpos-Inipos)); Mystring.Add (Tempstr); Sourcestr:=Copy(Sourcestr,Endpos+FoundLen,SourceLen-(Endpos+FoundLen-1)); Endpos:=pos(Foundstr,Sourcestr); Flag:=true; end; if Flag then begin if Sourcestr<>'' then listbox1.Items.Assign (Mystring); end; if Flag then messagedlg('Split Over,Now!',mtinformation,[mbok],0) else messagedlg('Not Split',mtinformation,[mbok],0); finally Mystring.Free ; end;end;
2014-02-27
展开全部
var aa,str:string; i,j:integer;beginstr:='239,233,32423,234,234,23424'; j:=1;for i:=1 to length(str) do begin if str[i]='+'then begin aa:=copy(str,j,i-j); combobox1.Items.Add(aa); j:=i+1; end else if i=length(str) then begin aa:=copy(str,j,i-j+1); combobox1.Items.Add(aa); end; end;end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-27
展开全部
用TStringList对字符串进行分割。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-27
展开全部
function SplitString(const source,ch:string):tstrings;var temp:string; i:integer;begin result:=tstringlist.Create; temp:=source; i:=pos(ch,source); while i<>0 do begin result.Add(copy(temp,0,i-1)); delete(temp,1,i); i:=pos(ch,temp); end; result.Add(temp);end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-27
展开全部
不好意思,上面的+ 号应该改为 , 号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询