TStringListでCSVファイルを処理したいのですが、対象となるCSVファイルに半角空白を含んだデータがあります。
仕様で半角空白もデリミタとして認識するようですが、これを避けるにはどうすればよいのでしょうか。
過去ログ
https://www.petitmonte.com/bbs/answers?question_id=2926
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;
FAQでしたか...
リサーチ不足ですみません。
ツイート | ![]() |