行の並べ替え

テキストの行を辞書順(昇順・降順)、数字の自然な順序、長さ順、逆順、ランダムな順番に並べ替えられる無料のリスト並べ替えツールです。

リストを並べ替える方法

  1. 上のボックスにリストを1行に1項目ずつ貼り付けます。
  2. 並び順を選び、必要なオプションにチェックを入れます。入力したり設定を変えたりするたびに、並べ替え結果のボックスがすぐ更新されます。
  3. 結果をコピーか.txtでダウンロードをクリックします。ランダムを選んでいる場合は、もう一度並べ替えを押すたびに新しくシャッフルされます。

6つの並び順

  • A → ZとZ → A – 文字コード順ではなく、実際の言語の辞書のルールに従った昇順・降順です(詳しくは後述)。日本語のページでは、かなは五十音順に並びます。
  • 短い順と長い順 – スペースを含む行の文字数で並べます。同じ長さの行どうしは辞書順に並びます。
  • 現在の順序を逆にする – 並べ替えはせず、リストを上下逆にして最後の行を先頭にします。古い順にたまった記録を新しい順にしたいときに便利です。
  • ランダム(シャッフル) – ブラウザーの暗号論的乱数生成器を使ったフィッシャー–イェーツ(Fisher–Yates)のシャッフルで行を混ぜます。

オプション

  • 数字を自然な順序で(初期設定はオン)– 連続する数字を数値として比べるので、「項目2」が「項目10」より前に来ます。オフにすると1文字ずつ比べるため、「1」が「2」より小さいことから「項目10」が先になります。
  • 大文字と小文字を区別(オフ)– オフのときは「apple」と「Apple」を同じとみなし、元のリストの順序を保ちます。オンにすると大文字が先に来ます:APPLE、Apple、apple。
  • 重複を削除(オフ)– 同じ行は最初の1つだけ残します。大文字と小文字の区別の設定に従うので、区別がオフなら「Apple」と「apple」も重複とみなします。
  • 空行を削除(オン)– 空行と、スペースだけの行を除きます。

例

バナナ、りんご、項目10、項目2、さくらんぼを1行ずつ入れたときの結果です。

設定結果
A → Z、自然な順序オンさくらんぼ、バナナ、りんご、項目2、項目10
A → Z、自然な順序オフさくらんぼ、バナナ、りんご、項目10、項目2
Z → A項目10、項目2、りんご、バナナ、さくらんぼ
長い順さくらんぼ、項目10、バナナ、りんご、項目2
現在の順序を逆にするさくらんぼ、項目2、項目10、りんご、バナナ

ひらがなとカタカナは区別せずに五十音順で並ぶため、「バナナ」は「は」の位置に入ります。ファイル名を見ると、自然な順序がなぜ必要かわかります。file10.txt、file2.txt、file1.txt、File3.txtは、オンならfile1.txt、file2.txt、File3.txt、file10.txtになりますが、オフでは1文字ずつ比べた結果のfile1.txt、file10.txt、file2.txt、File3.txtになります。

単純な「文字コード順」との違い

多くのプログラミングツールは文字コード順に並べるため、すべての大文字がすべての小文字より前に来て(「Zebra」が「apple」より先)、アクセント付きの文字は最後に回されます。このツールは、Unicode照合アルゴリズムをもとにしたブラウザー内蔵の照合ルールを使います。そのためéはeの隣に並び、大文字と小文字は混ざって並び、数字は文字より前に来ます。日本語のページでは日本語のルールを使い、英字、かな、漢字の順になります。

ただし漢字は読みがわからないため、読み順には並びません。田中、佐藤、鈴木、高橋は高橋、佐藤、田中、鈴木となり、名前の読み順(さとう、すずき、たかはし、たなか)とは一致しません。名簿を読み順に並べたいときは、ふりがなの列を作ってそれを並べ替えてください。たなか、さとう、すずき、たかはしなら正しくさとう、すずき、たかはし、たなかになります。

数字の並べ替え:自然な順序の限界

自然な順序は、連続する数字を1つの整数として比べるので、整数や「第9章」のような名前にはよく合います。しかし小数点やマイナス記号は理解しません。

  • 10、9.5、1.25、1.5、2は1.5、1.25、2、9.5、10になります。小数点以下の数字を5と25として読むためです。
  • -3、-10、5、-1は-1、-3、-10、5になります。マイナス記号を数の一部とみなさないためです。

小数は、小数点以下の桁数をそろえれば解決します。1.25、1.50、2.00、9.50、10.00なら正しく並びます。負の数が混ざっている場合や、厳密に数値で並べたい場合は表計算ソフトを使うほうが確実です。

ヒント

  • 行は書かれたとおりに比べるので、スペースで始まる行はほかの行より前に来ます。前後に空白が混じったリストは、先に重複行の削除で整えてください。各行の前後の空白を取り除き、重複した行も同時に消してくれます。
  • 2つのリストをテキスト比較で比べる前に両方を並べ替えておくと、追加された項目や抜けている項目がずっと見つけやすくなります。
  • 行全体を先頭の文字から比べます。CSVの2列目のように、行の途中にある特定の列を基準に並べ替える機能はないので、そうした作業は表計算ソフトで行ってください。

よくある質問

抽選に使っても公平ですか?

標準的なシャッフルのアルゴリズムと暗号論的に安全な乱数を使っているので、実用上どの並び順も同じ確率で出ると考えてかまいません。リストから当選者を1人または複数選ぶなら、名前抽選のほうが便利です。

同じとみなされた行の順序は保たれますか?

はい。安定ソートなので、大文字と小文字の区別をオフにしたときの「apple」と「Apple」のように同じとみなされた行は、元のリストでの順序のままです。

数字で始まる行が先頭に来るのはなぜですか?

標準的な照合ルールでは、数字は文字より前、記号やスペースは数字より前に並びます。多くの言語の辞書やファイル管理ソフトと同じ考え方です。

とても長いリストも並べ替えられますか?

はい。数万行のリストでもほぼ一瞬で並べ替えられます。実際の上限は端末のメモリだけです。