行を並べ替え
テキストの行を A から Z、Z から A、自然順(file2 が file10 より前)、コードポイント順、数値順、長さ順に並べ替えます。
コード例
自分のプロジェクトにコピーして使えます。どの例も言語の標準ライブラリだけを使うので、インストールするものはありません。
const lines = ['file10', 'file2', 'file1']
const sorted = lines.toSorted(new Intl.Collator('en', { numeric: true }).compare)
console.log(sorted.join('\n'))できること
テキストの行を並べ替えます。自然順は file2 を file10 より前に置きます。他の順序は、言語の規則でテキストを比べる、生のコードポイントを比べる、行頭の数値を使う、長さを使う、のいずれかです。並べ替えずにリストを逆にすることもできます。
使い方
- 1行に1項目を入力または貼り付けるか、テキストファイルをドロップします。
- 順序を選びます。Z から A で逆順、大文字小文字を区別 で
aとAを別扱い、行の前後の空白を無視 で前後の空白なしで比べます。行そのものは入力したままです。 - 並べ替えたリストをコピーまたはダウンロードします。空行を削除 は先に空行を取り除きます。
例
自然順と通常のテキスト順:
file10 file1
file2 → file2
file1 file10
数値順は行頭の数値を使うので、10 apples は 2 の後に来て、数値のない行は最後になります。
知っておくと便利なこと
- 並べ替えは安定です。比較して等しい行は、どちらの向きでも元の順序を保ちます。
- 自然順と A–Z テキスト順は英語の規則を使います。コードポイント順はどこでも同じなので、他のプログラムと結果を一致させたいときに選びます。
- コードポイント順では、大文字小文字の区別をオフにしない限り、すべての大文字がすべての小文字より前に来ます。
- テキスト末尾の改行1つは、空行を足さず最後の行を終わらせます。
自然順とは?
通常のアルファベット順は文字を1つずつ比べるため、file10 が file2 より前に来ます。自然順は数字を数値として読むので、人が並べるように file2 が file10 より前に来ます。ファイルマネージャーもこの方法です。
よくある質問
A–Z テキストとコードポイント順の違いは?
A–Z テキストは言語の規則に従い、é は e の隣に並び、大文字小文字の違いは最後に考慮されます。コードポイント順は生の文字コードを比べるため、すべての大文字がすべての小文字より前、é は z の後になります。他のプログラムがその順序を期待する場合に選びます。
数値順は数字でない行をどう扱いますか?
行の先頭の数値で並べ替えるため、10 apples は 2 の後に来ます。数値で始まらない行は、コードポイント順で後ろに続きます。
このツールは行をどこかに送信しますか?
いいえ。並べ替えはブラウザ内で行われます。入力した内容が当社のサーバーに送信されることはありません。