CSVの読み込みで半角空白を無視するには?

解決


WAT  2007-11-19 08:52:34  No: 28545  IP: 192.*.*.*

TStringListでCSVファイルを処理したいのですが、対象となるCSVファイルに半角空白を含んだデータがあります。

仕様で半角空白もデリミタとして認識するようですが、これを避けるにはどうすればよいのでしょうか。

編集 削除
 2007-11-19 09:09:13  No: 28546  IP: 192.*.*.*

過去ログ
https://www.petitmonte.com/bbs/answers?question_id=2926

編集 削除
AVA  2007-11-20 19:06:38  No: 28547  IP: 192.*.*.*

CSVをStringListに入れるのであれば、1文字ずつチェックしていって
カンマが来たらStringListに追加すればいいんじゃないですか。
たとえば
function Csv2StringList(S: string): string;
var
  strs: TStringList;
  T: string;
begin
  Result := '';
  T := '';
  strs := TStringList.Create;
  try
    while Length(S) > 0 do
    begin
      if ByteType(S, 1) = mbSingleByte then
      begin
        if S[1] = ',' then
        begin
          strs.Add(T);
          T := '';
        end else begin
          T := T + S[1];
        end;
        Delete(S,1,1);
      end else begin
        T := T + S[1] + S[2];
        Delete(S,1,2);
      end;
      strs.Add(T);
    end;
    Result := strs.Text;
  finally
    strs.Free;
  end;
end;

編集 削除
WAT  2007-11-22 11:43:21  No: 28548  IP: 192.*.*.*

FAQでしたか...

リサーチ不足ですみません。

編集 削除