将一行文本放入由引号分隔的数组中?德尔福

时间:2014-09-24 15:33:13

标签: arrays delphi dynamic-arrays

好吧,我对delphi编码和编码一般都很新。我已经研究过将字符串拆分成由以下分隔的数组或列表:或者,但在这种情况下,我需要通过由"分隔的字符串来完成。 &#34 ;.

示例:" fname"," lastname"," someplace,state"," some business,llc"," companyid"

我需要的是阵列 (item [0] = fname)(item [1] = lastname)(item [2] = someplace,state)(item [3] = some business,llc。)(item [4] = companyid)

因为你可以看到我无法使用逗号作为分隔符读取一行文本,因为它会抛弃所有内容。

有没有办法读入一行文本并将其拆分成一个数组,就像上面的例子一样?

1 个答案:

答案 0 :(得分:4)

请参阅TStrings.CommaText的文档。

以下是一个例子:

program Project1;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,Classes;
var sl: TStringList;
  s: String;
begin
  sl := TStringList.Create;
  try        
    sl.CommaText := '"fname","lastname","someplace,state","some business,llc","companyid"';
    for s in sl do
      WriteLn(s);
    ReadLn;
  finally
    sl.Free;
  end;
end.

文档还说:

  

注意:CommaText与DelimitedText属性相同,分隔符为“,”,引号字符为“”。

因此,如果使用DelimitedText,请确保QuoteChar"Delimiter,