重複行を削除
元の順序を維持しながらテキストから繰り返し行を削除します。
重複行を削除 の使い方
- 1
テキストを貼り付ける
整理したい行を入力ボックスに入力するか貼り付けます。
- 2
オプションを設定する
「Case Sensitive」と「Trim Whitespace」を切り替えて、重複を判定するための行の比較方法を制御します。
- 3
重複を削除する
「Remove Duplicates」をクリックすると、各行の最初の出現を残しつつ、繰り返しの行が取り除かれます。
- 4
結果をコピーする
出力のコピーボタンを使って、重複を除いたテキストを保存します。
順序を崩さずに行を重複排除する
最初を残し、あとは捨てる
このツールは、各行が最初に現れたときのものを残しつつ、繰り返しの行を削除します。上から下へ読み進めながら、すでに見たすべての行を覚えておき、同じ行が再び現れたら、その後ろのコピーを捨てます。生き残った行は常に元の位置にとどまるので、テキスト全体の並び順は正確に保たれます。
例を見れば分かりやすくなります。apple、banana、apple、cherry、banana という行が与えられた場合、出力は apple、banana、cherry になります。2つ目の apple と2つ目の banana は削除されますが、最初に現れたものの順序はそのままです。
並べ替えずに重複排除する
重複を取り除くのに、スプレッドシートやコマンドラインの sort に手を伸ばす人は多いものですが、並べ替えは副作用として順序をかき乱します。アルファベット順のリストならそれでかまいませんが、時系列のログ、順位付きのリスト、手順のステップのように、並びそのものが意味を持つものにとっては致命的です。このツールは決して並べ替えをしないからこそ、順序を保ちます。
もし本当に、並べ替えられた一意なリストが欲しいなら、出力をあとから並べ替えてください。2つの操作を切り離せば、主導権が手に入ります——順序を保ちたければ先に重複排除を、順序がどうでもよければ先に並べ替えをすればよいのです。
大文字・小文字の区別、オンとオフ
既定では比較は大文字・小文字を区別するので、Apple と apple は別の行とみなされ、両方とも残ります。「Case Sensitive」をオフにすると、ツールはそれらを同じ行として扱い、最初のものだけを残します。これは、同じ値が大文字小文字の入り混じった形で現れる実際のデータでは、絶えず問題になります。
メールアドレス、タグ、ユーザー名のように、'[email protected]' と '[email protected]' が明らかに1つと数えられるべきものを重複排除するときは、大文字・小文字を区別しないマッチングを使いましょう。コードの識別子を区別する場合のように、大文字小文字が意味を持つときは、区別したままにしておきます。
比較の前に空白を取り除く
「Trim Whitespace」オプションは、2つの行が一致するかどうかを判定する際に、先頭と末尾のスペースやタブを無視します。これがないと、目に見えない末尾のスペースで終わる行は、それのない同じ行とは厳密には別物となり、両方が生き残ってしまいます。これを使えば、そうしたほとんど同一の行は1つの項目にまとまります。
これは、重複削除が明らかな繰り返しを「見逃す」ように見える最もよくある原因——目に見えない空白——を捕まえます。データが複数の貼り付け元から寄せ集められたものであるときは、たいてい trim を有効にするのが正解です。
2つのオプションを組み合わせる
本当の威力は、2つのトグルを一緒に使うことから生まれます。大文字・小文字の区別をオフにし、トリミングをオンにすれば、ツールは ' Apple '、'apple'、'APPLE' をまったく同じものとして扱います。これが最も寛容な設定で、乱雑な入力から最もきれいに重複排除されたリストを生み出しやすくなります。
逆に、厳密な完全一致での重複排除が必要なら、大文字・小文字の区別をオンにし、トリミングをオフのままにしておきます。削除されるには、行がスペースも何もかも含めて1バイトたりとも違わず同一でなければなりません。
このツールが真価を発揮する場面
典型的な仕事には、各アドレスが一度だけ現れるようにメーリングリストをきれいにすること、同じエラーが何百回も繰り返されるログファイルを圧縮すること、複数のリストを重複なしで1つのマスターに統合すること、そして取り込みの前にエクスポートされたデータを整えること、などがあります。重複しうる行区切りの値があるところならどこでも、このツールはそれらを一意な集合にまとめます。
各項目は行まるごとで判定されるため、このツールは、1行に1項目という短い値のリストでこそ輝きます。「重複」という概念がそもそも意味をなさない、流れるような文章には向きません。
単語や語句ではなく、行が単位
比較の単位が行全体であることを覚えておくのは重要です。重複した単語を共有しつつも、それ以外のどこかが異なる2行は、両方とも残ります。行全体としては同一ではないからです。このツールは、段落の中の繰り返された単語や文を見つけることはしません。あくまで行まるごとに対して働きます。
重複がまだそれぞれ独立した行になっていない場合は、先に分割しましょう。たとえば「改行を追加」をカンマの後ろで改行するように設定して、各値が別々の行に収まるようにしてから、重複排除を実行します。
よくある質問
元の行の順序は保たれますか?
比較は大文字・小文字を区別しますか?
「Trim Whitespace」オプションは何をしますか?
重複する行のどのコピーが残されますか?
テキストはサーバーにアップロードされますか?
関連ツール
こちらの便利なツールもどうぞ