有如下字符串'abc,ddss,dsdsd,ddss',字符串中的数值以','分隔,而且字符串的长度和项目数都是动态的,请问如何取得文字符串中用字符分隔的数值?

解决方案 »

  1.   

    var sl:TStringList;
    begin
      sl:=TStringList.Create;
      sl.Text:='abc,ddss,dsdsd,ddss';
      ShowMessage(sl.Delimiter);
      sl.Free;
    end;
      

  2.   

    刚好也碰到过这个问题,拷贝一段代码给你
    type
      TStringArray = array of string;//把一个字符串按指定的分隔字符分隔并放进动态数组StrArray;
    procedure StringToArray(const AString: string; const Separator: Char; var StrArray: TStringArray);
    var
      i: Integer;
      SList: TStrings;
    begin
      SList := TStringList.Create;
      try
        ExtractStrings([Separator], [], PChar(AString), SList);
        SetLength(StrArray, SList.Count);
        for i := 0 to SList.Count - 1 do
          StrArray[i] := SList[i];
      finally
        SList.Free;
      end;
    end;关键是用ExtractStrings,我想这个大概可以实现你的要求了^_^