改行コードが混在している文字列の改行コードを統一する

Delphiで、CR・LF・CRLFの改行コードが混在している文字列の改行コードをいずれかの改行コードに統一する方法です。

System.SysUtilsユニットのAdjustLineBreaks関数を使うと、文字列の改行コードを統一できます。

  // CRLFにする
  S := System.SysUtils.AdjustLineBreaks(S, tlbsCRLF);

  // LFにする
  S := System.SysUtils.AdjustLineBreaks(S, tlbsLF);

  // OSのデフォルトの改行コードにする(WindowsならCRLF、MacならLF)
  S := System.SysUtils.AdjustLineBreaks(S, DefaultTextLineBreakStyle);

次のサンプルコードでは、選択したファイルの改行コードをOSのデフォルトの改行コードに変換します。

procedure TForm1.Button1Click(Sender: TObject);
var
  S: string;
begin
  if OpenDialog1.Execute then
  begin
    // ファイルを読み込む
    S := TFile.ReadAllText(OpenDialog1.FileName);
    // OSのデフォルトの改行コードにする(WindowsならCRLF、MacならLF)
    S := System.SysUtils.AdjustLineBreaks(S, DefaultTextLineBreakStyle);
    // ファイルを保存する
    TFile.WriteAllText(OpenDialog1.FileName, S);
  end;
end;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください