piapia123
ja

文字の削除

テキスト

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

テキストから特定の種類の文字をまとめて消す、あるいは逆にその種類だけを残すツールです。6 つのカテゴリはそれぞれ独立しています:漢字、英字、数字、句読点、空白、記号と絵文字。 判定はすべて Unicode のプロパティで行い、コードポイントの範囲では見ません。 `[\u4e00-\u9fff]` のような範囲は CJK 基本区しか覆わず、拡張領域の文字がすり抜けます。そして「消し忘れた 1 文字」は結果を見てもほとんど気付けません。数字は `\p{Nd}` なので全角 0-9 も含まれ、英字は `\p{Script=Latin}` なので全角 A-Z も含まれます。 空白を削除しても改行は残ります。 改行も空白の一種ですが、それを削ると複数行の入力が 1 行に潰れてしまいます。「空白を消す」と言う人が普通望むのはそこではありません。そのため空白カテゴリは行ごとに適用し、行構造はツール側が維持します。

機能

  • 6 カテゴリが独立:漢字・英字・数字・句読点・空白・記号と絵文字
  • 「残す」モードは逆に働き、混在テキストから 1 種類だけ取り出せる
  • 漢字の判定は拡張領域の漢字も含む(CJK 基本区だけではない)
  • 全角 A-Z は英字、全角 0-9 は数字として扱われる(Unicode の定義どおり)
  • 和文・欧文の句読点をまとめて 1 カテゴリで扱う
  • 空白を削除しても改行は残り、複数行が 1 行に潰れない
  • 書記素クラスタ単位で処理するため、絵文字が半分だけ残って文字化けしない
  • 「残す」モードで 1 つもチェックしない場合はエラーを出し、空の結果を黙って返さない
  • 処理はすべてブラウザ内で完結し、内容は送信されません

使い方

  1. テキストを入力欄に貼り付けます
  2. 「削除」か「残す」を選び、対象のカテゴリにチェックを入れます
  3. 結果は即座に更新されます。「コピー」で取り出します

よくある質問

全角の英字と数字はどのカテゴリですか?
全角 A-Z は英字、全角 0-9 は数字です。 例外的な扱いではなく、もともとそういう identity だからです。Unicode では全角の英字は Latin スクリプト、全角の数字はカテゴリ Nd を持ちます。したがって「英字」にチェックを入れると `A` も削除されます。`。` や `、` のような全角の句読点は句読点カテゴリで、英字にも数字にも入りません。
「空白」を削除したのに改行が残るのはなぜですか?
改行を意図的に保護しているためです。改行も空白ですが、一緒に削ると複数行の入力が 1 行に潰れてしまいます。「空白を消す」と言う人が普通求めるのは空白の除去であって、段落構造の解体ではありません。行構造ごと消したい場合は「複数行を 1 行に」のほうが直接的です。
「削除」と「残す」は何が違いますか?
両者は完全に補完関係にあります。同じ入力に対して、削除モードで消えるものと残すモードで消えるものを合わせると元のテキストになります。混在テキストから漢字だけを取り出したいなら「残す → 漢字」、漢字を消したいなら「削除 → 漢字」です。なお「残す」モードで 1 つもチェックしないと全文が消えるため、その組み合わせはエラーとして知らせます。

関連ツール