テキストの重複行を削除

貼り付けたテキストから重複した行を取り除き、一意な行だけの一覧を返します。ログ、リスト、キーワード、重複レコードの整理に使えます。複数行のテキストを貼り付けると、重複を除いた行一覧を出力します。扱う形式はテキストのみです。

ブラウザ内でローカルに実行

一覧から重複した行を削除する方法

1 行に 1 項目を貼り付け、「重複行を削除」を押します。各行の最初の出現はその位置に残り、後から出てきた同じ行は取り除かれるため、結果は並べ替えずに元の順序を保ちます。

比較は完全一致です。「Apple」と「apple」は別の行で、「apple」と末尾に空白がある「apple 」も別の行です。下の 3 つのチェックボックスは、複数の出所から集めた一覧でこの規則を緩めたいときに使います。

  1. 上の欄に一覧を貼り付けます(1 行に 1 項目)。
  2. 必要に応じて「大文字と小文字を区別しない」「行頭と行末の空白を無視する」「空行を削除する」にチェックを入れます。
  3. 「重複行を削除」を押すか、欄の中で Ctrl(Mac は Command)+ Enter を押します。
  4. 状態行で「入力行・削除・出力行」を確認します。
  5. 「コピー」で結果をクリップボードに取り込み、「クリア」で欄と結果を空にします。

何が重複とみなされるか、結果に何が入るか

行の比較方法

各行は入力されたまま 1 文字ずつ比較されます。大文字と小文字は区別され(「Total」と「total」は別の行)、末尾の空白も区別されます。見た目が同じでも異なる行はあります。通常の空白の代わりにノーブレークスペース(U+00A0)が入っている場合や、アクセントが 1 つのコードポイントではなく結合文字として書かれている場合、それらは別の行のままです。Web ページや PDF からコピーした一覧で、目に見えない「重複」が残ることがあるのはこのためです。

空行も内容として数えます。連続する空行は 1 行の空行にまとまり、末尾が改行で終わる一覧は最後の項目で終わっているものとして扱います。改行そのものが空行を結果に足すことはもうありません(以前の版では足していました)。

オプション・件数・結果

「大文字と小文字を区別しない」は小文字に変換した行で比較します。「行頭と行末の空白を無視する」は各行の前後の空白を取り除き、行内の連続する空白(タブを含む)を 1 つにまとめるので、「 JS tools 」は「js tools」と一致します。「空行を削除する」は空行を結果から取り除きます。残る行は常に最初に書かれたままの行で、正規化した形ではありません。

「入力行・削除・出力行」は処理内容を示します。入力行は読み取った行数(末尾の改行は数えません)、削除は取り除いた行の合計、出力行は残った行数です。結果はプレーンテキストなので、表計算の列、SQL の IN リスト、コードの配列にそのまま貼り付けられます。

プライバシー・制限・正確さ

このツールはブラウザー内で動作します。欄のテキストを読み取り、ローカルで重複を除いて再表示するだけで、送信は行いません。この版を実際の Chrome で計測したところ、一覧の処理中にページ外へのリクエストは発生しませんでした。

50,000 文字を超える出力はシンタックスカラーなしで表示されます(共有のハイライターがそこで止まるため)が、テキスト自体は変わりません。値が JavaScript のオブジェクトプロパティ名(toString、constructor、valueOf、hasOwnProperty、__proto__ など)である行は、以前の版では 1 回しか出てこなくても削除されていました。この版はそれらを残すため、件数が以前のページと異なることがあります。

最近使ったツール: