Yueser

テキスト並べ替え

1 行に 1 件、選択した方法で並べ替えます。


  
中国語について

中国語の並び順はブラウザ標準の localeCompare('zh-Hans-CN') に任せており、実測ではほぼピンイン順(阿 < 波 < 李 < 钱 < 王)になります。ただし全字辞書による照合ではないため、多音字・難読字・ブラウザのバージョンによって順序が変わり得ます。順序を固定したい場合はコマンドラインの LC_ALL=C sort、または Unicode コードポイント順で比較してください。

使う場面

  • キーワードやドメインの一覧を表計算に貼る前にアルファベット順へ並べたいとき。file2、file10 のような番号付きの行は、文字順ではなく数値の大小で並んでほしい。
  • 複数の名簿をまとめて重複を消したあと、短い語から順に並べてタグや用語集を作りたいとき。

使わないほうがよい場面

  • 人名簿や用語集のように、中国語を拼音や画数で厳密に並べたいとき。ここでの順序はブラウザの照合データ次第で、拼音は保証されず、画数・部首の指定もありません。
  • TSV/CSV の特定の列で並べ替えたいとき。比較は行全体で、列は解析しません。sort -t か表計算ソフトを使ってください。
制限とプライバシー

並べ替え・重複除去・シャッフルはすべてブラウザ内で行われ、テキストは送信されません。制限:行単位のみで空行は破棄。文字順はブラウザの照合データに依存するため環境で変わります。重複除去は大文字小文字を区別し trim もしません。シャッフルは Math.random なので、抽選など公平性が求められる用途には向きません。

よくある質問

中国語は拼音順に並びますか?

並べ替えはブラウザの localeCompare(ロケール zh-Hans-CN)に任せています。Chrome・Safari・Firefox はいずれも各自の ICU データに依存し、実際には漢字はおおむね拼音順になります。ただしページ側に拼音辞書は積んでいないため、多音字やめずらしい字、ブラウザのバージョン差で結果が食い違うことがあります。順序を固定したいときはコマンドラインの sort(LC_ALL=C でバイト順)か、スクリプトでのコードポイント比較を使ってください。

file2 が file10 より前に来るのはなぜ?

文字/アルファベット順モードは numeric:true を指定しているため、連続する数字は数値として比較され file2 が file10 より前に来ます。単純な文字比較なら '1' < '2' で逆になります。自然順を切るスイッチはないので、バイト順が必要なら file02 のように 0 埋めしてください。

重複を消すにチェックしたのに Apple と apple が両方残るのはなぜ?

重複除去は Set による完全一致で、大文字小文字を区別し、前後の空白もそのまま扱います。大文字小文字を無視するのは並べ替えの比較(sensitivity: 'base')だけです。そのため 2 行とも残り、隣り合って並びます。区別せずに消したいときは「テキスト重複削除」で大文字小文字を無視してから、ここで並べ替えてください。