🔧Toolify

重複行削除ツール — テキストリストを即座にクリーンアップ

行のリストを貼り付けると、重複するものをすべて削除して一意の行だけを残します。大文字・小文字の区別、前後の空白トリム、最初または最後の出現を保持するかどうかをオプションで制御できます。

上のテキストエリアにテキストを貼り付けると、重複行が削除されます。

仕組み

重複行が問題になる場面

詩やメモ書きでは重複行が気になる程度ですが、構造化データでは深刻なトラブルを招きます。CSVファイルの重複行はレコード数を水増しし、集計結果を歪め、データベースへのインポート時にプライマリキーの重複エラーを引き起こします。Excelやスプレッドシートで管理している顧客リストや商品マスタに重複があると、ダイレクトメールの二重送信や在庫のダブルカウントにつながります。

サーバーログでも同様です。クラッシュを繰り返すプロセスが同一のエラーメッセージを大量に出力すると、ディスク容量を圧迫し、本来の原因究明が困難になります。設定ファイルの重複キーはパーサーによって黙って上書きされるか、解析エラーの原因になります。requirements.txtやpackage.jsonの依存ライブラリ重複はCI/CDパイプラインを静かに壊すことがあります。

空行の扱いも重要です。Markdownや日本語の本文では意図的な段落区切りとして連続空行を使うことがあります。「空白トリム」オプションはスペースのみからなる行を空行と見なして比較するため、意図しない見た目上の重複を除去できます。出力内容に応じて適切なオプションを選んでください。

大文字・小文字の区別が必要なケース

デフォルトの大文字・小文字を区別しない設定では、「Apple」「apple」「APPLE」はすべて同一とみなされ、最初の1件だけが残ります。タグ、キーワードリスト、メールアドレス(RFCの規定でローカルパートは大文字小文字不問)など、人が見るリストにはこの設定が最適です。

コードやファイルパスには大文字・小文字の区別が不可欠です。Pythonではクラス名の「Result」と変数名の「result」は別物であり、LinuxファイルシステムではURLのパスも大文字・小文字が区別されます。SQLのテーブル名もMySQLのLinux環境では区別されます。ソースコードや設定ファイルの行を重複削除するときは、必ず「大文字・小文字を区別する」を有効にしてください。

実務的なアプローチとして、大文字・小文字を区別しない設定で一度実行して表記ゆれを確認し、次に区別する設定で正式な重複削除を行う二段階の方法が有効です。「Apple」と「apple」が両方残ってほしい場合は後者の設定を使い、どちらか一方を残したい場合は前者を使います。

空白トリムと「最初・最後を残す」の使い分け

コピー&ペースト操作では行末にスペースが混入することがよくあります。「apple 」(末尾スペース2つ)と「apple」は文字列として異なるため、トリムなしでは両方が残ってしまいます。「空白トリム」オプションを使うと比較前に前後の空白を除去するため、このような見えない重複を確実に取り除けます。

ただし、インデントされたコードやアウトラインリストでは先頭のスペースやタブが意味を持ちます。Pythonのインデントや、ツリー構造を空白で表現したテキストではトリムを無効にしてください。URLの前後の空白除去や、CSVのフィールド値のクリーニングにはトリムが有効です。

「最初を残す」か「最後を残す」かは、データの意味によって変わります。更新履歴や変更ログのように、後のエントリほど新しい状態を示す場合は「最後を残す」が正しい選択です。一方、登録日時が早い顧客を優先する名簿や、最初に定義されたルールを優先する設定ファイルでは「最初を残す」を使います。

よくある質問

行の順序は保持されますか?

はい。並べ替えは行いません。重複を削除するだけで、残った行は入力と同じ順序を保ちます。

重複の判定基準はどうなっていますか?

選択したオプション(大文字・小文字の統一、空白トリム)を適用した後の文字列が同一であれば重複と判定します。行番号や位置は考慮しません。

空行も削除されますか?

空行も重複として扱われます。「最初を残す」が有効な場合、連続する複数の空行は1行だけが残ります。空行をすべて削除したい場合はテキストソートツールの「空行を削除」オプションが適しています。

「最後を残す」とはどういう動作ですか?

「最初を残す」のチェックを外すと、重複グループの最後に出現した行を残します。結果は入力の元の順序で表示されます。

メールアドレスリストの重複削除に使えますか?

はい。1行1アドレスで貼り付けてください。メールアドレスはRFC上大文字・小文字不問なので、デフォルトの大文字・小文字を区別しない設定が適切です。空白トリムも合わせて有効にすることを推奨します。

処理できる行数に上限はありますか?

上限はありません。すべてブラウザのメモリ内で処理します。現代のブラウザでは数十万行程度は問題なく処理できます。

入力したテキストはサーバーに送信されますか?

送信されません。すべての処理はお使いのデバイス上のJavaScriptで完結します。

CSVの特定の列で重複削除するにはどうすればよいですか?

このツールは行全体を比較します。特定の列で重複削除するには、その列だけを抽出して1列リストを作り、このツールで重複削除した後に他の列と結合し直す方法が現実的です。大規模データにはPythonのpandasやExcelのUNIQUE関数が便利です。

広告について
  • NordVPN

    広告

    厳格なノーログポリシーと6000台以上のサーバーで、安全かつ高速なネット接続を提供するVPN。

    詳細を見る
  • エックスサーバー

    広告

    国内シェアNo.1のレンタルサーバー。WordPress高速化・自動バックアップ・無料SSLで個人サイトに最適。

    詳細を見る
  • ConoHa WING

    広告

    国内最速のレンタルサーバー。WordPressサイト構築・独自ドメイン無料・初期費用0円。

    詳細を見る

関連ツール

最終更新:

AIプロンプトも見る →