本文へ移動
行の整理
空行削除・空白整理・重複削除・並べ替え。
ブログ

重複行の削除と並べ替え: 空白と処理順の注意点

初期設定では空行削除だけがオン。末尾の空白を無視して同じ行をまとめるには、空白除去と重複削除を両方選びます。

行整理ツールで試す →
この記事のポイント3つ

訂正 (2026年9月28日): 空白除去が常時オンという説明と、ブラウザ処理だけで入力の安全が保証されるかのような表現を改めました。

  1. ①
    空白除去と重複削除は別の選択 初期設定では空行削除だけがオン。末尾の空白を無視して重複を探すには、両方をオンにします。
  2. ②
    全体と連続では結果が変わる 全体は離れた同じ行も消し、連続は隣り合う繰り返しだけを畳みます。
  3. ③
    商品コードは文字列順 SKU-10 は SKU-2 より前に並びます。数字の大小や CSV の列ごとの重複は判定しません。
和紙に『空行も重複も一度に整える』と書かれ、茶碗と万年筆が添えられた画像。

メールのリストやログを受け取ると、空行が混ざり、同じ項目が何度も並び、行末に見えない空白が付いている。Excel に入れて重複削除を回したり短いスクリプトを書いたりするのは面倒です。行単位の整理は、貼り付けてオプションをいくつか入れるだけで終わります。

空行と重複を一度に整える

行整理の基本は4つの操作です。空行の削除、前後の空白の除去、重複の削除、並べ替え。別々に使うより、まとめて有効にすると強力です。

たとえば hello 、空行、world、hello、空白だけの行が混ざったテキストがあるとします。PiPi Worlds の 行整理ツールで前後の空白を除去、空行を削除、重複を削除、昇順で並べ替えを有効にすると、結果は hello、world の2行に減ります。残りの行数がリアルタイムで表示され、元が何行から何行に整ったかがすぐ分かります。

全体の重複と連続の重複は別物

重複削除には2種類あり、結果がかなり違います。

apple、apple、banana、apple の4行を見ます。

方式結果
全体の重複削除apple, banana(2行)
連続の重複削除apple, banana, apple(3行)

全体削除はどこにあっても同じ行なら最初の1つだけ残します。連続削除は直前の行と同じときだけ消すので、最後の apple は上が banana のため生き残ります。並びを変えずに連続の繰り返しだけ畳みたいときに連続削除を使います。

適用順序が結果を左右する

見落としがちな点です。操作が適用される順序が決まっています。

有効にした操作について、前後の空白の除去、空行の削除、重複の削除、並べ替え、行番号の順です。初期設定では空行の削除だけがオンです。apple と apple (末尾に空白)は別の行なので、まとめたい場合は前後の空白の除去と重複行の削除を両方オンにします。Apple と apple も同じとみなすなら「大文字小文字を無視 (重複・並べ替え)」を追加します。全体の重複削除で残る表記は先に出たほうです。

日本語と文字の違い

空白を除去しても、英字の大文字小文字を無視しても、日本語の表記をすべて同じにはしません。このツールはUnicode正規化や全角・半角の統一を行いません。「が」1文字と、「か」に結合濁点を続けた文字列は、似て見えても別の行として残ります。

次の5行は公開サンプルです。入力を入れ替え、重複行を削除と大文字小文字を無視をオン、連続重複のみはオフ、並べ替えは「なし」で試してください。行番号はオフのままにします。

が
が
ガ
ガ
が

結果は先頭から4行です。最後の「が」だけが消えます。見た目では区別しにくいため、各行の内訳も示します。

入力行文字の内訳この設定の結果
1行目 がU+304C残る
2行目 がU+304B + U+3099残る
3行目 ガU+30AC残る
4行目 ガU+FF76 + U+FF9E残る
5行目 がU+304C、1行目と同じ消える

MDNのUnicode正規化の説明では、NFCのような正準等価性の正規化と、NFKCのような互換正規化を区別しています。このサンプルではNFCで1・2行目が同じ文字列になり、NFKCではさらに3・4行目も同じ文字列になります。ただしこれは正規化を別に行った場合の説明で、このツールの設定ではありません。ひらがなの「が」とカタカナの「ガ」はNFKCでも別です。

氏名・商品コードなどを整理するときは、元のリストを残し、「見た目が似ているから同じ」と決めずに、何を同一視してよいかを先に確認してください。互換正規化では丸数字などの表記も変わり得ます。自動で一括置換するより、残った行を原文と照合する方が適切な場合があります。個人情報はここに入力せず、この公開サンプルで動きを確かめてください。

並べ替えと行番号で仕上げる

整理を終えた行を最後に仕上げる2つが、並べ替えと行番号です。

並べ替えは昇順(A→Z)と降順(Z→A)から選べます。さらに行番号を有効にすると、各行の前に 1.、2.、3. が順に付きます。重複を消して並べ替えたリストに番号まで振れば、文書やメールにそのまま貼れる番号付きリストが一度に仕上がります。

ただし数字の大小を考慮する並べ替えではありません。このツールの文字列比較では、商品コード SKU-10 が SKU-2 より前に来ます。在庫番号やファイル名の順番が重要なら、出力を転記する前に確認してください。また、CSV の列を分解せず、行全体を一つの項目として比較します。同じメールアドレスでも名前が違う2行は、ここでは同じ行になりません。

そのリスト、どこで整理していますか

最後はデータが留まる場所の話です。整理のために貼り付ける行には、メールアドレスや社員番号、ログのように外へ出ると困る値が混ざっていることが少なくありません。

PiPi Worlds の 行整理ツールはブラウザ内で文字列を変換し、入力をサーバーに送る処理はありません。ページ閲覧・表示性能は Cloudflare Web Analytics が別途計測します(プライバシーポリシー)。端末・拡張機能まで含めた安全の証明ではないため、個人情報や認証情報、社内ログは匿名化した例で試してください。Windows と Mac でコピーした CRLF と LFが混ざるテキストは、結果で LF にそろいます。整理したリストの文字数は 文字数カウントで確認できます。行ごとの JSON は JSON フォーマッターに一行ずつ入れてください。複数の JSON 値をまとめた NDJSON は扱えません。

よくある質問

全体の重複削除と連続の重複削除は何が違いますか?
全体の重複削除は離れていても同じ行なら最初の1つだけ残してすべて除去します。連続の重複削除は直前の行と同じときだけ消します。たとえば apple, apple, banana, apple を全体で削除すると apple, banana の2行に、連続で削除すると apple, banana, apple の3行になります。並びを保ったまま連続だけ畳みたいときに連続削除が便利です。
操作はどの順序で適用されますか?
有効にした操作について、前後の空白の除去、空行の削除、重複の削除、並べ替え、行番号の順です。初期設定では空白の除去と重複の削除はオフです。末尾の空白を無視して重複を探すには両方をオンにします。
大文字小文字が違う行も同じ行として扱えますか?
はい。「大文字小文字を無視 (重複・並べ替え)」を有効にすると Apple と apple を同じ行とみなし、選んだ重複削除・並べ替えに反映します。全体の重複削除では先に現れた表記が残ります。
Windows の改行が混ざったテキストも処理できますか?
はい。CRLF・CR・LF の3種類の改行をすべて認識し、結果は LF 改行に正規化します。Windows と Mac でコピーしたテキストが混ざっても一度に整います。
貼り付けたテキストはサーバーに送信されますか?
行の変換処理に、入力した文章をサーバーへ送るコードはありません。ページ閲覧・表示性能は Cloudflare Web Analytics が別途計測します。ブラウザや拡張機能を含む安全の保証ではないため、個人情報・認証情報・社内ログは匿名化した例で試してください。

出典

確認記録: CodexによるAIコード・例文確認 (人によるセキュリティ監査ではありません)

確認内容と限界を開く

src/lib/devtools/lines.jsのオプションと比較式を確認し、例を処理関数で再現しました。入力文字列をサーバーへ送る変換処理はありませんが、ブラウザや拡張機能を含む環境全体の安全性までは保証しません。2026-10-14には公開中の日本語ツールで5行の濁点・全角半角サンプルを入力し、重複削除と大文字小文字無視を有効にして4行が残ることを実操作・結果のコードポイントで確認しました。MDNのnormalize説明と照合しました。この追加確認は文字比較の範囲であり、画像・全画面・安全性・読者成果の再監査ではありません。

この記事で加えたこと — 公開中の行整理ツールの初期設定と処理順をコード・再現例で確認し、空白・英字の大文字小文字・番号付きの商品コードで結果が変わる境界を示しました。出力をそのまま転記する前の確認点も記しています。日本語の濁点・全角半角の公開サンプルを使い、空白除去や英字の大小無視ではUnicode正規化にならない境界も示します。

確認記録は記載された確認内容であり、独立した正確性の保証ではありません。

ツールに戻る →