テキストの重複行を削除:整理・並べ替え
テキストリストから重複行を削除し、大文字・小文字の区別とアルファベット順の並べ替えに対応します。
クリーニング結果
リストをここに貼り付け... リンゴ ミカン リンゴ (重複) バナナ
テキストの重複行を削除する
このツールは貼り付けたテキストを1行ずつに分割し、リストの中で後から繰り返される行を取り除いて、重複のない行だけを残します。どの行を同じとみなすかは4つの個別のスイッチで決まります。大文字と小文字を区別するか、前後の空白を取り除くか、空行を削除するか、そして結果をアルファベット順に並べ替えるか元の順序のままにするかです。
仕組み
入力は改行ごとに分割され、残った各行はそれまでに現れた行と比較されます。既定でオンになっている空白を除去では、比較の前に各行の先頭と末尾の空白が取り除かれるため、末尾に余分な空白がある行は、その空白がない同じ行と区別されなくなります。同じく既定でオンの空行を削除では、この処理の後に残った空行は、互いの重複として数えられることなくそのまま取り除かれます。大文字と小文字を区別するがオンになっていない限り、各行は小文字化した状態で比較されるため、「ITEM-1002」と「item-1002」は既定では1つの行にまとまり、このスイッチをオンにしたときだけ別の行として扱われます。各行は最初に現れた位置がそのまま残り、それ以降の繰り返しは削除されます。アルファベット順に並べ替えをオンにすると、残った行は貼り付けた順序ではなくAからZの順に並び替えられます。
具体例
次の6行の注文コード一覧を貼り付け、空白を除去と空行を削除をオン、大文字と小文字を区別するをオフにすると、4行の重複のない行が貼り付けた順のまま残ります。ITEM-1002、ITEM-1004、ITEM-1001、ITEM-1003です。結果パネルには合計6行、削除2行、残り4行と表示されます。3行目は1行目の小文字版に過ぎず、4行目は2行目の末尾に余分な空白が付いたものだったからです。大文字と小文字を区別するをオンにすると結果が変わり、「item-1002」は「ITEM-1002」とは別の行として扱われるため、残りは4行ではなく5行になり、削除は1行だけになります。
入力:
ITEM-1002
ITEM-1004
item-1002
ITEM-1004
ITEM-1001
ITEM-1003
出力(大文字小文字を区別せず、空白除去、空行削除後):
ITEM-1002
ITEM-1004
ITEM-1001
ITEM-1003
アルファベット順に並べ替えも同時にオンにすると、同じ4行が貼り付けた順序ではなくITEM-1001、ITEM-1002、ITEM-1003、ITEM-1004という順序で返ってきます。この並べ替えは大文字と小文字を区別せずに行われるため、大文字と小文字を区別するがオンの状態でも、「ITEM-1002」と「item-1002」は近い位置に並びます。合計・削除・残りの数値はリストを処理するたびに更新されるため、各スイッチの効果はすぐに確認できます。