UltKit

行の並べ替え

どんなリストもすぐに整列できます。昇順・降順のアルファベット順、自然順、各行の先頭にある数値の順、文字数順、ランダムなシャッフルに対応しています。並べ替えにはブラウザ自体の言語ルールを使い、処理はすべてお使いの端末上で行われます。

順序

0 文字 · 0 語 · 0 行

0 文字 · 0 語 · 0 行

すべてこのブラウザのタブ内で処理されます。テキストがアップロードされたり保存されたりすることはありません。

このツールでできること

行の並べ替え 行を、ブラウザのロケールに合わせた照合順での辞書順、自然順(file2 が file10 より前)、各行の最初の数値順、長さ順、またはランダムなシャッフルで並べ替えます。

変換前
item 10
item 9
Item 1
変換後
Item 1
item 9
item 10

アルファベット順と文字コード順は別物です

コンピューターがテキストを並べ替える最も単純な方法は文字コード順ですが、これでは不自然な結果になります。大文字(ASCIIではコード65〜90)がすべて小文字(97〜122)より前に来るため、「Zebra」が「apple」より先に並び、アクセント付きの文字はzの後ろに回ります。ユーザーが期待するのは辞書順で、言語学では照合(コレーション)と呼ばれるものです。このツールはUnicode照合アルゴリズムのブラウザ実装であるIntl.Collatorを使っているため、「apple」「Banana」「éclair」も読み手の想定どおりの順に並びます。

照合は言語にも左右されます。ドイツ語の辞書ではäはaと同じ位置に置かれますが、スウェーデン語ではå、ä、öがzの後、アルファベットの最後に並びます。このツールはブラウザの既定のロケールを使うので、スウェーデン語の環境で並べ替えたリストはスウェーデン語の規則に従います。大文字小文字を無視する設定をオンにすると、大文字小文字やアクセントだけが異なる文字は同じものとして比較され、次に違いのある部分で順序が決まります。

自然順・数値順・文字数順

アルファベット順では数字を1文字ずつ比較するため、1が2より小さいことから「file10」が「file2」より前に来ます。自然順では連続する数字を1つの数値として読み取り、file1、file2、file10の順になります。WindowsのエクスプローラーやmacOSのFinderなどのファイル管理ソフトが名前を表示する順序と同じです。章タイトル、バージョン一覧、請求書番号、IMG_9とIMG_10のような写真名に使えます。

数値順は各行の最初の数値(マイナス記号や小数を含む)を探し、その値で並べ替えます。価格表、スコア、「12 apples」のような行に向いています。数値のない行は最後に回ります。長さ順は表示される文字数の少ないものから並べ、同じ長さの場合はアルファベット順にします。最も短いドメイン名を探したり、途切れた項目を見つけたりするのに便利です。

シャッフルの仕組み

シャッフルにはフィッシャー–イェーツ法(1938年にロナルド・フィッシャーとフランク・イェーツが発表し、1964年にリチャード・ダステンフェルドがコンピューター向けに改良)を使います。リストを末尾から順にたどり、各行を自分以前のランダムに選んだ行と入れ替えます。良質な乱数源があれば、すべての並びが等しい確率で現れます。乱数にはシード付きの小型擬似乱数生成器mulberry32を使うので、新しいシャッフルを指示するまで結果は変わりません。状態が32ビットのため、生成できるシャッフルは最大で約43億通りで、わずか13行の並び(62億通り)にも足りません。クイズの出題、プレイリスト、発表順の決定には十分ですが、抽選や金銭・セキュリティが絡む用途には向きません。

並べ替えの前にリストを整えるには、先に重複行の削除を実行してください。

よくある質問

file10がfile2より前に並ぶのはなぜですか?
単純なアルファベット順は1文字ずつ比較するため、1が2より前に来ます。連続する数字を数値として扱う自然順を選ぶと、file2がfile10より前になります。
並べ替えると大文字の単語が先に来ますか?
いいえ。並べ替えは言語に応じた照合で行うため、appleとAppleは隣り合って並びます。大文字がすべて小文字より前に来るのは、単純な文字コード順の場合だけです。
ランダムシャッフルは本当にランダムですか?
高速なシード付き擬似乱数生成器を使った、偏りのないフィッシャー–イェーツ法です。日常的な用途には十分公平ですが、抽選やくじ、セキュリティ用途には適していません。
数値順で、数字のない行はどこに並びますか?
リストの最後に、それらの間ではアルファベット順で並びます。数値を含む行は、その行で最初に見つかった数値の大きさで並びます。
行を逆アルファベット順に並べ替えられますか?
はい、Z→Aを選んでください。A→Zと同じ言語対応の比較を逆順にしただけなので、アクセント付きや大文字の単語も自然な位置に収まります。