重複削除ツール
テキストから重複した行を削除し、ユニークな行のみを残す無料オンラインツールです。
📝 Input Text
📊 Statistics
✨ Result (Unique Lines)
Removes duplicate lines from your text. Use "Case Sensitive" to distinguish between uppercase and lowercase. Use "Sort Output" to alphabetically sort the results.
主要機能
- 重複行削除: 同じ内容の行を自動的に検出して削除
- 大文字小文字の区別: 大文字小文字を区別するか選択可能
- ソートオプション: 結果をアルファベット順にソート可能
- リアルタイム統計: 総行数、ユニーク行数、削除された行数を表示
- 順序維持: 重複を削除しながら元の順序を維持 (ソート未使用時)
使用方法
基本的な使用
- 入力エリアにテキストを入力します (1行に1つずつ)
- 重複が自動的に削除され、結果が表示されます
- 「コピー」ボタンをクリックして結果をクリップボードにコピーします
オプション設定
- 大文字小文字の区別: チェックすると「Apple」と「apple」を別のものとして扱う
- 出力をソート: チェックすると結果をアルファベット順にソート
使用例
1. メールリスト整理
入力:
user1@example.com
user2@example.com
user1@example.com
user3@example.com
出力:
user1@example.com
user2@example.com
user3@example.com
2. キーワードリスト整理
マーケティングやSEO作業時に重複したキーワードを削除する際に便利です。
入力:
react
javascript
react
vue
javascript
angular
出力:
react
javascript
vue
angular
3. ファイルパス整理
ログファイルやスクリプトから重複したパスを削除する際に使用します。
入力:
/home/user/docs
/home/user/downloads
/home/user/docs
/home/user/pictures
出力:
/home/user/docs
/home/user/downloads
/home/user/pictures
4. データ整理
CSVファイルやデータベースから重複項目を削除する際に使用します。
オプション詳細説明
大文字小文字の区別 (Case Sensitive)
チェックなし (デフォル ト)
大文字小文字を無視して重複を判定します。
入力:
Apple
APPLE
apple
Banana
出力:
Apple
Banana
チェックあり
大文字小文字を区別して重複を判定します。
入力:
Apple
APPLE
apple
Banana
出力:
Apple
APPLE
apple
Banana
出力をソート (Sort Output)
チェックなし (デフォルト)
元の順序を維持します (最初に登場した順序)。
入力:
Zebra
Apple
Banana
Apple
出力:
Zebra
Apple
Banana
チェックあり
結果をアルファベット順にソートします。
入力:
Zebra
Apple
Banana
Apple
出力:
Apple
Banana
Zebra
統計情報
ツールは次の3つの統計をリアルタイムで表示します:
- 総行数 (Total Lines): 入力された総行数
- ユニーク行数 (Unique Lines): 重複削除後に残った行数
- 削除された行数 (Removed Lines): 削除された重複行数
実用的なヒント
1. CSVファイル処理
CSVファイルの特定の列から重複を削除する場合:
- Excelまたはスプレッドシートでその列をコピー
- このツールに貼り付け
- 重複削除後、再度貼り付け
2. ログ分析
サーバーログからユニークなIPアドレスやユーザーを見つける際に便利です。
3. コード整理
Import文や依存関係リストから重複を削除する際に使用できます。
4. 大量データ処理
数千行でも素早く処理できます。
アルゴリズム説明
このツールは、JavaScriptのSetデータ構造を使用して効率的に重複を削除します:
const seen = new Set();
lines.forEach((line) => {
const key = caseSensitive ? line : line.toLowerCase();
if (!seen.has(key)) {
seen.add(key);
uniqueLines.push(line);
}
});
時間計算量: O(n) - 非常に効率的です!
よくある質問
Q: 空行はどう処理されますか?
空行も通常の行と同様に処理されます。複数の空行がある場合、1つだけ残ります。
Q: 前後のスペースは重複判定に影響しますか?
はい。「Apple」と「 Apple 」(前後にスペース)は別のものとして扱 われます。スペースを削除したい場合は、スペース削除ツールを先に使用してください。
Q: 最大何行まで処理できますか?
理論的には制限はありませんが、ブラウザのメモリに依存します。一般的に数万行でも問題なく処理できます。
Q: ソートオプションはどのように動作しますか?
JavaScriptのlocaleCompareを使用して自然なアルファベット順でソートします。日本語もあいうえお順でソートされます。
パフォーマンス
- 処理速度: 1万行を1秒以内に処理
- メモリ効率: Setデータ構造で最適化
- リアルタイム処理: 入力と同時に結果を表示
高度な使用 例
1. URLリストのクリーニング
入力:
https://example.com/page1
https://example.com/page2
https://example.com/page1
https://example.com/page3
出力:
https://example.com/page1
https://example.com/page2
https://example.com/page3
2. タグの整理
入力:
#technology
#programming
#Technology
#design
#Programming
出力 (大文字小文字の区別なし):
#technology
#programming
#design