toolfree

排序與去重

在瀏覽器裡排序、去重、隨機打亂文字行,中文支援筆畫與拼音排序。

在你的瀏覽器中執行

結果

請貼上一些內容。

中文不能用碼位排序

這是大多數行排序工具做錯的地方,而且在你拿它處理中文之前完全看不出來。

一般的排序是照 Unicode 碼位比對字串。對中文來說,那會產生一個沒有任何讀者認得的順序——它 既不是筆畫、不是拼音、不是部首,也不是任何字典使用的排法。它就只是那些字當初被編號的順序。

所以這裡的排序方式是一個明確的選擇,而且會標示在結果下方:

兩種都說得通、結果卻不同的排序,正是一個工具必須說清楚自己用了哪一種的時候。

數字用自然排序

預設會把 item2 排在 item10 前面。一般的字串排序剛好相反,因為逐字比對時 1 排在 2 前面 ——而那幾乎不會是任何人排序檔案或版本號時想要的結果。

去重時保留第一次出現的那筆

順序本身就是資訊。移除後面的重複項會保留原本順序所帶的意義,而保留最後一筆則會悄悄把順序打亂。

預設不分大小寫,因為在姓名、標籤或網域的清單裡,Appleapple 通常是同一筆。當大小寫 真的有意義時再打開它——識別碼、密碼、base64 之類。

去除前後空白是另一個選項,而且預設開啟:在任何人實際會貼進來的清單裡, appleapple 都是 同一項,而多出來的結尾空白正是重複項沒被抓到的最常見原因。

隨機打亂用的是真正的亂數

Fisher–Yates 演算法,亂數來自平台的密碼學安全產生器而不是 Math.random。對一份名單來說這有點 過頭,但它不花任何代價,而且結果是真正無偏的——用 sort(() => Math.random() - 0.5) 做的簡易 打亂並不是,而且會產生肉眼看得出偏斜的順序。

沒有任何上傳

在這個頁面裡排序。貼進排序工具的清單,常常是電子郵件地址、客戶姓名或內部主機名稱。