行の長さで絞り込み
テキスト処理はすべてブラウザ内で完結します。データは送信されません
行の長さで残すか捨てるかを決めるツールです。難しいのは絞り込みそのものではなく、どの物差しで測るかのほうです。たとえば `ab中文` という行は、測り方によって 4 文字・8 バイト・表示幅 6 という 3 つの顔を持ちます。 · 文字数 —— 読み手が数える文字数(書記素クラスタ単位なので絵文字は 1) · バイト数 —— UTF-8 で何バイトか。データベースの列や API の上限が使うのはこれ(漢字は 1 文字 3 バイト) · 表示幅 —— 組版上の幅。CJK の文字は 2 幅を占めます。電話番号や身分証のような固定幅チェックはこれが基準です 測り方を間違えると、条件は妥当に見えるのに残る行が違う、という状態になります。しかもエラーは一切出ません。そのため測り方は明示的な選択にしています。幅の表はページの meta 説明と同じものを使っており、両者が食い違うことはありません。 「残す」と「削除」は対になる選択肢で、別々のツールではありません。「5〜20 文字を残したい」人と「20 文字を超えるものを消したい」人がいて、同じ範囲に 2 つの向きを用意すればどちらも表現できます。
機能
- 3 つの測り方:文字数・UTF-8 バイト数・表示幅
- 上下限はどちらも範囲に含み、上限 0 は無制限
- 「残す」と「削除」が同じ範囲を共有する
- バイト数は TextEncoder で数えるため、絵文字(4 バイト)も拡張領域の漢字も正確
- 表示幅の表は meta 説明と共有しており、口径がずれない
- 残った行の中身には一切触れない(トリム・空白の圧縮・改行の書き換えをしない)
- 下限が上限より大きい場合はエラーにし、空の結果を返さない
- 処理はすべてブラウザ内で完結し、内容は送信されません
使い方
- 絞り込みたいテキストを貼り付けます
- 測り方を選びます(文字数・バイト数・表示幅)
- 下限と上限を入力し、「残す」か「削除」を選びます
- 結果は即座に更新されます。「コピー」で取り出します
よくある質問
- 3 つの測り方は何が違いますか?
- `ab中文` で考えると、4 文字(書記素クラスタが 4 つ)、8 バイト(漢字 2 文字が各 3 バイト、英字 2 文字が各 1 バイト)、表示幅 6(漢字が各 2 幅、英字が各 1 幅)です。データベースの列や API に長さ制限があるならバイト数、画面表示が問題なら表示幅、単に文字数を数えたいなら文字数を使ってください。
- 上限 0 はどういう意味ですか?
- 0 は無制限を表します。 入力欄には「空」という状態がないため、どこかの数値を番兵にする必要があり、0 は本当の上限にはなり得ない唯一の値です(長さが負の行はありません)。なお上下限を両方 0 にすると条件が完全に消えます。「残す」なら全行がそのまま出て、「削除」なら全行が消えます。
- 文字数ではなく表示幅を使う意味は?
- CJK の文字はラテン文字のおよそ 2 倍の幅を占めるからです。漢字 20 文字の見出しと英字 20 文字の見出しは文字数が同じでも組版上の幅は 2 倍近く違います。そのため「20 文字以内」で切ると、中国語ではデザインを大きく超えてしまいます。見た目の幅を制限したいなら表示幅で測ってください。
関連ツール
テキスト整形
テキストログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
文字の削除
テキスト漢字・英字・数字・句読点・空白・記号と絵文字をカテゴリごとに削除します。チェックした種類だけを残す使い方もできます。
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
テキスト差分
テキスト2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
命名規則の変換
テキスト14 の命名規則の間で識別子を変換します。fooBarBaz や FOO_BAR のような混在も語に分解し、連続する大文字も語ごとに切ります。
簡体字・繁体字変換
テキスト中国語を簡体字と繁体字の間で相互変換します。常用語は語単位で置換し、残りは最も一般的な字形を採るため、一部は人の確認が必要です。