FIRST CH TOOLS / テキスト / 63 LINE TOOLS

テキスト行操作ツール

1行に1項目のリストを、重複行の削除・並べ替え・シャッフル・行番号付け・空行の除去・前後の空白削除・接頭辞/接尾辞の一括付与で整えます。チェックを入れた操作だけを決まった順番で1回ずつ適用するので、「空白を削ってから重複を消し、昇順に並べて番号を振る」が一度で済みます。並べ替えは数値を値として比べ、item2 は item10 より前、-5 は 1.5 より前に来ます。

チェックを入れた操作を上から順に適用します

よく使う組み合わせ
01前後の空白
02空行
03重複行
04並べ替え
05接頭辞・接尾辞
06行番号
処理するテキスト
結果
0
入力の行数
0
結果の行数
0
削除した重複行
0
削除した空行
チェック結果

    このツールは行単位の操作です。全角の ABC と半角の ABC を揃えるような文字単位の変換は 全角⇄半角変換、2つのリストの違いを見るのは テキスト・コード差分チェッカー にあります。

    How to Use

    1. リストを貼り付ける1行に1項目ずつ左の欄へ貼ります。表計算の1列をコピーしたものや、ログから抜き出したURLの一覧をそのまま使えます。
    2. 操作にチェックを入れる01〜06のうち必要なものを選びます。「重複を消して並べる」などのボタンで、よく使う組み合わせを一度に入れられます。結果は操作のたびに右の欄へ出ます。
    3. コピーする右の欄をコピーして元の場所へ戻します。重複していた行と回数、消し損ねそうな「ほとんど同じ行」はチェック結果に出ます。

    操作の順番と並べ替えの規則

    操作は 01 → 06 の順に1回ずつ

    チェックの付け外しの順番に関係なく、前後の空白 → 空行 → 重複行 → 並べ替え → 接頭辞・接尾辞 → 行番号の順で適用します。空白を先に削るので 「りんご」 と 「りんご␣」 は重複として消え、番号は最後に振るので並べ替えた後の順に 1, 2, 3… と続きます。接頭辞と番号を両方付けると 1. - りんご のように番号が外側に来ます。

    数値だけの行は値で、文字を含む行は数字の部分を数として比べる

    「数値を値として比べる」がオンのとき、数値だけの行(-10・1.25・1,000・全角の 12)は値の大小で並べ、文字を含む行より前に置きます。文字を含む行は、中の数字の連なりを1つの数として比べるので 商品1 → 商品2 → 商品10 の順になります。オフにすると1文字ずつの比較になり、商品1 → 商品10 → 商品2 の順です。

    かな・英字・漢字の並び

    並べ替えにはブラウザの日本語の照合順序(Intl.Collator)を使います。ひらがなとカタカナは五十音順に混ぜて並び、英字は abc・Abc・ABC が隣り合います(区別がつかない同順位の行は文字コード順で決めるので、同じ入力からは必ず同じ結果になります)。漢字は読み仮名を持たないため読み順にはなりません。JIS第1水準の並び(おおむね代表的な音読みの順)で、たとえば 札幌(サツ)→ 大阪(ダイ)→ 東京(トウ)→ 名古屋(メイ) となります。読み順が必要なときは、読み仮名の列を先頭に付けてから並べてください。

    重複行の3つの残し方

    最初の1行だけ残すは一般的な重複削除で、最初に出てきた位置に1行残ります。重複した行は1行も残さないは、1回しか出てこない行だけを取り出します(2つのリストを縦につないでから使うと「片方にしか無い項目」が分かります)。重複した行だけを1行ずつ出すはその逆で、2回以上出てくる行を1行ずつ取り出します(つないだリストの「両方にある項目」になります)。

    About This Tool

    リストの整形は、同じ定型処理の繰り返しです。メールアドレスの一覧から重複を消す、表計算からコピーした品番を並べ直す、URLの一覧を Markdown の箇条書きにする、抽選の順番をシャッフルで決める——どれも表計算やエディタでもできますが、空白の削除・重複の削除・並べ替えを毎回別々にやることになります。このツールは必要な操作にチェックを入れるだけで、決まった順番でまとめて適用します。

    「消したはずの重複が残る」原因の多くは、見えない違いです。行末のスペース、全角スペース、Apple と apple、全角の A と半角の A は、画面では同じに見えても別の行として扱われます。チェック結果には、前後の空白・大文字小文字・全角半角だけが違う「重複しかけの行」が何組あるかを出します。前の2つはこのページの設定で、全角半角は 全角⇄半角変換 で揃えてから戻ってください。

    シャッフルは Fisher–Yates で、1手ごとに crypto.getRandomValues の乱数を棄却法で使います。種から疑似乱数を伸ばす方式と違い、行数が多くても並びの候補が欠けません。「もう一度シャッフル」を押すたびに乱数を引き直します。URL に seed= を付けると同じ入力から同じ並びを再現できますが、この再現用モードは32ビットの種から並びを作るため、13行以上ではすべての並びを出せません。抽選には seed= を付けずに使ってください。Math.random() で sort() する簡易的な方法は、並びが偏ることが知られています。

    末尾の改行は入力に合わせます。貼り付けたテキストが改行で終わっていれば、結果の末尾にも改行を付けます。改行コードは、ブラウザの入力欄が貼り付けの時点で LF にそろえるため、結果も LF になります。Windows 向けに CRLF が必要なときは、結果を 文字コード・改行コード変換 に通してください。

    貼り付けたテキストがブラウザの外へ出ることはありません(処理はすべて手元で動いています)。本サイトのアクセス解析にも、このページではURLのパラメータ部分(? 以降)を渡していません。10万行程度のリストでも一瞬で処理できます。URLパラメータで直接呼び出せます: /lines/?text=b%0Aa%0Ab&dedupe=1&sort=asc / /lines/?preset=numbered&sep=paren&pad=1

    Other Tools