本文へスキップ

行の並べ替え・シャッフル

Line Sorter & Shuffler

行を辞書順・数値順・長さ順に並べ替えるか無作為に混ぜ、逆順と大文字小文字の扱いも選べます。

行の一覧を並べ替えます。何を基準にするかは仮定せず明示します。数字が混じるものは自然順、韓国語は가나다、指定した言語の照合規則、コードポイントそのまま、長さ順、そして本物のシャッフルがあります。同じ一覧でも基準ごとに答えが変わります。

🔒 ブラウザの中だけで動きますsortlinesshuffle

行

並べ替え

基準

数字の並びを数として比べるので、file9がfile10より前に来ます。

並べ替えの結果

行数

6

使い方

  1. 何よりも先に基準を選びます

    ファイル名とバージョンは自然順、かな交じりの一覧は言語別でja-JPを指定、コードポイントはArray.sortが返す機械の順序がどうしても必要なときだけにしてください。

  2. 方向と大文字小文字の規則を決めます

    既定では大文字小文字を区別しません。区別すると大文字がすべて小文字より前に来ますが、名前の一覧でそれを望むことはまれだからです。

  3. 無作為が必要ならシャッフルを使います

    シャッフルはFisher–Yatesの一巡であって、無作為な比較関数ではありません。無作為な比較関数は誤ったシャッフルの古典で、偏りがあり、エンジンごとに分布も違います。

よくある質問

file10がfile9より前に来るのはなぜですか

コードポイント順だからです。1文字ずつ比べると「1」が「9」より前になります。数字の並びを数として比べる自然順に変えると、file9が先に来ます。

かなの一覧が変な順序になります

コードポイント順は、ひらがなだけの一覧なら偶然おおむね五十音順になります。ただしMacからコピーした文字は濁点が分かれた形で保存されていて合成済みの文字より前に来るので崩れ、ひらがなとカタカナも別の塊に分かれます。言語別を選んでja-JPを指定すると、どちらも解決します。

言語別は何が違うのですか

その言語自身の照合表を使います。スウェーデン語はåをzの後ろに置き、ドイツ語はäの扱いが2通りあり、チェコ語はchを1文字として扱います。一覧にそういう事情がなければ、既定としては自然順のほうが優れています。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。