当给TStringList的DelimitedText属性赋值时,如果碰到字符串中有空格时会造成结果不正确,有没有好的解决办法?

解决方案 »

  1.   

    先StringReplace用一个特殊字符替代空格,然后StringReplace回来
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s: TStringlist;
      i: integer;
      ss: string;
    begin
      ss:='aa|bb c| c';
      ss:= StringReplace(ss,' ','#',[rfReplaceAll]);
      s:= TStringList.Create;
      s.Delimiter:= '|';
      s.DelimitedText:= ss;
      for i:= 0 to s.Count - 1 do
      begin
        s[i]:= StringReplace(s[i],'#',' ',[rfReplaceAll]);
        memo1.Lines.Add(s[i]);
      end;
      s.Free;
    end;