ToolActToolAct

改行削除ツール

テキストの改行を素早く削除、複数の処理モードに対応

入力内容
文字数: 0
行数: 0
変換結果
文字数: 0
行数: 0

処理方法を選択

改行削除とは?

改行削除は、テキスト内の改行文字を処理または削除する操作です。改行文字はテキストの表示形式を制御する特殊文字で、異なるシステムが異なる改行文字標準を使用しています:WindowsはCRLF(\r\n)、Unix/LinuxはLF(\n)、初期のMacはCR(\r)を使用していました。本ツールはすべての一般的な改行文字形式の処理に対応し、4つの処理モードを提供:すべての改行を削除、改行をスペースに変換、空行を削除、空行を結合、様々なシーンでのテキスト整理ニーズに対応します。

使い方

使い方

  1. 左の入力ボックスに処理したいテキストを入力または貼り付けます
  2. 処理モードを選択します(すべての改行を削除、改行をスペースに変換など)
  3. 結果はリアルタイムプレビューで右側に自動的に表示されます
  4. 「コピー」をクリックして結果をコピーするか、「スワップ」をクリックして結果を入力として再度処理できます

テキストクリーンアップのヒント

  • 単語を区切ったままにしたい場合は「改行をスペースに変換」を選択してください。すべての改行を削除すると、単語やフィールドが意図せず結合されることがあります。
  • CSV、コード、住所などの構造化データでは改行に意味がある場合があるため、コピーする前に結果をプレビューしてください。

利用シーン

コピペしたテキストを1行にフラット化するPDF、メール、ターミナル、折り返しのあるWebページから貼り付けたテキストを連続した文字列にする場合は「すべての改行を削除」モードを使います。両側の文字数と行数で変換結果を簡単に検証できます。出力はJSON文字列、SQL VALUES行、.env値にそのまま収まるシングルラインの塊です。
改行をスペースに変換する「改行をスペースに」モードはハードな改行を削除しつつ単語の区切りを保持するため、狭いカラムからコピーした段落、翻訳テキスト、CSVのメモ、1つの読みやすい段落にしたいプロンプトに便利です。出力は句読点と大文字小文字をそのまま保ちながら、改行境界が1つのスペースに変わります。
構造を壊さずに空行を整理する「空行を削除」モードは空行のみを削除し、「空行を結合」モードは繰り返しの改行を1つの改行に正規化します。行構造がまだ重要ないちリスト、ログ、アウトライン、貼り付けメモの整理に便利です。段落間のスペースに意味がある場合は「空行を結合」を、内容だけが重要な場合は「空行を削除」を選びましょう。
CRLF、LF、CRの改行コードを正規化するWindows、macOS、古いソースから届いたテキストでは、キャリッジリターンまたはラインフィードバイトだけをターゲットにするモードを切り替えます。\r?\n\s*のregexはCRLF(Windows)、LF(Unix/Linux)、単独CR(クラシックMac)の混在入力を1パスできれいに処理します。段落内の偶発的なスペースには触れずに、シェルスクリプト、git diff、Markdownテーブルを壊す混在改行を修正できます。
JSON文字列、SQL VALUES、envファイルへの貼り付けに備えるJSONリテラル、SQL VALUESリスト、.envエントリに貼り付ける前に、生の改行がパースを壊す可能性のあるメモをフラット化します。両パネルの文字数と行数で結果がクリーンな1行になっていることを確認してから、ターゲットフォーマットに合わせてクォートやエスケープを行います。フラット化した値はJSON用に\nエスケープを付けて再フォーマットしたり、複数行入力を受け付けるツールではそのまま使えます。

仕組み

各モードはString.prototype.replaceのグローバル正規表現による1回の呼び出しで実装されています。全削除は/[\r\n]+/gで空文字列に置換し、改行→スペースは/[\r\n]+/gで半角スペース1つに置換します。空行結合は/(\r?\n){2,}/gで'\n\n'に置換し、3行以上の連続改行を1つの空行にまとめます。空行削除は/\r?\n/で分割し、trim後に空のエントリを除去してから'\n'で結合します。文字クラス[\r\n]を意図的に使用しているのは、3つの古典的な改行コード — CRLF(\r\n、DOS以降のWindows)、LF(\n、UnixおよびモダンmacOS)、単独CR(\r、System 9までのクラシックMac)— が同一ファイル内で混在するケース(プラットフォーム間のコピーやNotepadでのUnixファイル編集による一般的な産物)をすべて吸収するためです。UnicodeにはU+2028 LINE SEPARATORとU+2029 PARAGRAPH SEPARATORの2つの追加改行ポイントがありますが、実際には稀です。これらはUnicode UAX #14の改行アルゴリズムで定義され、ES2019以降のJavaScript文字列リテラルで認識されますが、本ツールでは通常の文字として扱います。これはチャットアプリからの貼り付け時にほとんどのユーザーが期待する動作です。UTF-8ファイル先頭のBOM(U+FEFF)も変更せずに通過します。厳密なパーサーを使用する場合は別途除去してください。リアルタイム更新はReactのuseState/useMemoペアで駆動されます。制御されたtextareaが入力を書き込み、メモがキー入力ごとに結果を再計算し、Reactの差分更新により出力パネルのみが再描画されます。数十KBまでの文字列に対する正規表現置換はモダンV8で1ミリ秒未満に完了するため、デバウンスは不要です。数MBの入力でも60Hzの16msフレーム予算を十分に下回ります。

  • 全削除: text.replace(/[\r\n]+/g, '') — 連続する改行を全て除去。JSON文字列リテラルや.env値に適しています
  • 改行→スペース: text.replace(/[\r\n]+/g, ' ') — 折り返し段落の単語境界を保持しつつスペースの重複を防ぎます
  • 空行結合: text.replace(/(\r?\n){2,}/g, '\n\n') — 連続する空行を1つにまとめ、段落のリズムを保持します
  • 空行削除: split(/\r?\n/).filter(l => l.trim() !== '').join('\n') — 内容のある行を保持し、改行コードをLFに正規化します
  • 改行コードの種類: CRLF(Windows \r\n、もとはタイプライターの復帰+改行)、LF(1970年代からのUnix \n)、CR(System 9までのクラシックMac)— [\r\n]文字クラスで3つすべてを捕捉。Unicode UAX #14のU+2028とU+2029はES2019の文字列リテラルで認識されますが、ユーザー入力では稀です
  • ファイル先頭のBOM(U+FEFF)はそのまま残されます。次の段階が厳密なJSONやCSVパーサーの場合はtext.replace(/^\uFEFF/, '')で除去してください
  • Gitのcore.autocrlf=trueはチェックアウト時にCRLF↔LFを正規化します。ファイルがすでに誤った改行コードでマシンに到着し、Gitが捕捉しなかった場合に本ツールを使用してください

使用例

PDF からコピーしたテキストの整形

元: Thi s is
from PDF
copied
content
変換後: ThisisfromPDFcopiedcontent

コード圧縮の例

元: function hello() {
  return 'world';
}
圧縮後: function hello(){return 'world';}

記事の段落整形

段落間隔を維持しつつ余分な空行を削除し、整った標準的な記事フォーマットに整形

よくある質問

どのような改行が削除されますか?

3 種類の改行コードすべて:LF(\n、Unix/macOS)、CRLF(\r\n、Windows)、CR(\r、旧 Mac)。出力は 1 行になります。オプションでタブ、連続スペース、その他の空白文字も削除または正規化できます。

段落間の空白は保持されますか?

「半角スペースに置換」を有効にすると、各改行が 1 つのスペースに置き換えられます。「完全に削除」を有効にすると、何も挟まずに連結します。空行を含む段落の場合、段落区切り(1 つの改行)を保持して段落内の改行のみを除去するオプションもあり、PDF からコピーしたテキストの改行解除によく使われます。

貼り付けたテキストに削除できない改行が残るのはなぜですか?

おそらくソフト改行や U+2028(LINE SEPARATOR)、U+0085(NEL)といった不可視の区切り文字です。通常の改行削除ではなく、Unicode 対応の「すべての空白区切り文字を削除」を有効にしてください。PDF コピーにはゼロ幅スペースが含まれることもあるため、「不可視文字を削除」もオンにしてください。

コードでテキストを連結するのと何が違いますか?

操作自体は同じで、見た目の違いだけです。JavaScript の `text.replace(/\r?\n/g, ' ').trim()` と等価のことを行います。スクリプトを書くならコードで、その場限りの貼り付けを整形するならこちらでどうぞ。

末尾の空白や連続スペースも削除されますか?

「連続スペースをまとめる」を有効にすれば削除されます。元のテキストが整列のために複数のスペースを使っていた場合に便利です。各行末の空白は連結の前に除去されます。

CJK テキストでも動作しますか?

はい。中国語・日本語の文字に挟まれた改行を削除する際、デフォルトでは欧文スペースを挿入しません。東アジアの句読法では文字間にスペースを入れないためです。英文と CJK が混在する場合は「単語間スペースを保持」オプションを有効にしてください。

テキストはアップロードされますか?

いいえ。置換処理はブラウザ内で実行されます。貼り付けたテキストが送信されることはありません。