リスト整理で「同じ行」と判断する基準

名前やコードの重複を削除する前に、何を同一とみなすか決めます。見た目が似ていても同じ記録とは限りません。大文字小文字を区別する識別子では特に重要です。

削除の前に等しさを定義する

メールからコピーした一覧では両端の空白除去が役立ちますが、空白に意味があるデータは変わってしまいます。大小文字を無視するとRoofとroofがまとまり、すべての識別子に適するわけではありません。

ToolRoofは1行を1項目として扱います。名前から同一人物を推定せず、Unicodeの正規化や内容中の数字の変更も行いません。削除を確認できるよう元データを残します。

文字順と数値順は異なる

文字列の比較は言語に依存します。言語を決めてもitem2とitem10が数値順になるとは限りません。このツールは自然な数値順ではなく文字列として並べます。

到着順や優先順位が重要なら並べ替えを使いません。重複除去はルールに従って最初に残る表記を保持しますが、新しさや正確さは判断しません。

参考資料: MDN — Locale-sensitive text comparison with Intl.Collator

件数は確認に役立つが正しさの証明ではない

処理前後の行数と似た項目を確認します。減少は空行や重複の削除を示すだけで、不正確な記録を発見したとは限りません。

連絡先やメールの有効性確認、記録の統合を行うものではありません。重要なコピーに適用する前に、機密性のない例でルールを試してください。

例:5行から得られる異なる結果

Roof、roof、2つの空白で囲んだRoof、空行、Floorの5行を用意します。両端の空白と空行を除去し大小文字を無視すると、Roof、Floorの2項目が残ります。

ほかの条件を変えず大小文字を区別すると、Roof、roof、Floorの3項目です。どちらが常に正しいわけでもなく、大小文字が識別情報なのか表示だけなのかで判断します。

参考資料