有一个字符串例如aa:='11,22,33,44';
如何能将四个数字分别取出来

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1409/1409470.xml?temp=.1728479看这个帖子中我的回答
      

  2.   

    var
      sList: TStringList;
      i: Integer;
    begin
      sList := TStringList.Create;
      sList.CommaText := '11,22,33,44';
      for i := 0 to sList.Count - 1 do ShowMessage(sList[i]);
      sList.Free;
    end;
      

  3.   

    Var
       Str1,Str2:String;
    Begin
        Str1:='11,22,33,44';
        Str2:=Copy(Str1,1,2)+Copy(Str1,3,2)+Copy(Str1,6,2);+Copy(Str1,9,2);
    End;
      

  4.   

    function SplitString(const source,ch:string):tstringlist;
    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;
    调用:
    s:=splitstring('afsdfsdaaa|bbfdsfsdb|ccc','|');
    for i:=0 to s.Count-1 do
     b:=b+s.Strings[i]+#13;
    showmessage(b);
    s.free;
      

  5.   


    var  v : Integer ;
      SArr : Array of String ;
    Function FG(ss : String ) : String ;
    var
      i : Integer;
    begin
      i := Pos(',',ss) ;
      if I = 0 then
      begin
        SArr[v] := ss ;
        Exit ;
      end
      else
      begin
        while (i = 1) do
        begin
          ss := Copy(ss,2,Length(ss)) ;
          i := Pos(',',ss) ;
        end ;
        SArr[v] := Copy(ss,1,(i-1)) ;
        Inc(v) ;
        Delete(ss,1,i) ;
        FG(ss) ;
      end ;
    end ;procedure TForm1.Button2Click(Sender: TObject);
    var
      s : String ;
      i,j : Integer ;
    begin
      s := '  1 2 34' ;
      j := Length(s) ;
      SetLength(SArr,Length(s)) ;
      S := FG(s) ;
      for i := 0 to j-1 do
      if Length(SArr[i]) > 0 then 
        ShowMessage(SArr[i]) ;
    end;
      

  6.   

    s := '11,22,33,44';
    http://expert.csdn.net/Expert/topic/1375/1375584.xml?temp=.2486231