テキスト・文字列

空白削除見えない違いを確かめる

まず行末だけを整理し、原文のマークと結果を比べてから適用します。

空白削除

原文

原文の空白マーク

··見出し··本文··␍↵
⇥項目⇥値·↵
価格⍽10␍↵
····字下げ··␍↵

処理後のプレビュー

··見出し··本文␍↵
⇥項目⇥値↵
価格⍽10␍↵
····字下げ␍↵

表示5/5行、33 UTF-16コード単位。書き出しは常に全結果です。

· スペース、⇥ タブ、⍽ NBSP、↵ LF、␍ CR、␍↵ CRLF。色付きマークは表示専用です。

テキストはこのブラウザ内で処理され、送信されません。

処理オプション

処理順:NBSP→行末→行頭→連続スペース→タブ。

構文は解析しません。Markdownの行末スペースにも意味があります。タブ展開は全文、圧縮は行頭のみが対象です。

入力・出力とも1,000,000 UTF-16コード単位、50,000行まで。改行は保持し、保存はUTF-8です。

変更3行・削除5/追加0・文字数38→33

削除・追加は各段階の消費・生成数で、最小差分ではありません。前後の文字数はコードポイントで数えます。

空白削除が必要になるのは、コピーした文章の間隔が不揃いなときだけではありません。見た目が同じ文字列でも、半角スペースとNBSPの違いで検索に一致しないことがあります。

左に原文を残し、右の結果を見ながら処理を選べます。初期サンプルには行頭のインデント、タブ、複数種類の改行を含めてあり、行末だけを消す効果をすぐに確認できます。

空白削除を確認しながら進める理由

行の始まりをそろえ直さない

この空白削除は、最初から行頭の余白まで取り除きません。行末の半角スペースとタブだけを処理し、元のインデントと各改行コードを維持します。行頭を消す場合は、自分で専用の項目を有効にします。

行頭の字下げと改行マークが同じ位置に残り、右側では行末の余分なスペースだけが消えている。

見分けてから必要な文字を変換

通常のスペース、タブ、NBSPを別のマークで表示します。置換する種類を選んで結果を確認するため、一括削除で必要な間隔まで消す操作を避けられます。表示マークはコピーや保存には含まれません。

タブの矢印と改行しない空白の中空マークが通常のスペースの点に変わり、周囲の文字ブロックは残っている。

原文を置き換える前の確認ポイント

01

行頭を残す必要があるか確認

行末の空白を除去する設定だけが最初から有効です。行頭処理はインデントを消すため、必要な場合だけ選択します。サンプル読込とクリアも置換内容を確認してから適用します。

02

自動更新の待ち時間を知る

自動プレビューは編集後350 ms待って更新します。オフにすると実行ボタンとCtrl/Cmd+Enterを使えます。原文や処理条件が変わると、最新の結果ができるまでコピー・保存・適用は無効になります。

03

適用後の一回を戻せるようにする

変更行数と前後の文字数を見てから適用してください。元に戻す操作では原文、出力、設定をまとめて復元します。空白の表示切替だけでは再処理されず、書き出す文字も変わりません。

余白の種類ごとに処理を選ぶ

行頭と行末を独立して指定

各行の先頭と末尾にある半角スペース・タブを別々に除去できます。空白だけの行は空行になりますが、その行の改行コードは削除しません。

本文の連続スペースを一つに

半角スペースが二つ以上続く箇所を一つにまとめます。先頭のスペースとタブからなるインデントは保護します。本文中のタブは集約対象ではなく、変換を別途指定した場合のみ変わります。

NBSPを明示的に置換

U+00A0を通常のU+0020へ変換した後、行端処理とスペース集約を行います。この位置の改行禁止という性質は失われます。文字として書かれた はHTMLとして解釈しません。

タブ位置を基準に相互変換

タブからスペースへの変換は全文が対象で、幅2・4・8の次のタブ位置まで展開します。スペースからタブへは行頭のインデントだけが対象です。位置に届かない端数のスペースは残します。

変更しない文字と処理の限界

全角スペースやゼロ幅文字は維持
全角スペース、狭い改行禁止スペース、ゼロ幅文字、結合子、BOMは処理しません。半角スペース・タブと、明示的に有効にしたNBSPだけが対象です。
改行の種類と空行を維持
LF・CRLF・CRは個別に保持し、末尾の改行も残します。段落結合、PDF読込、ファイル取込、文字コード変換は行いません。保存形式は現在のテキストをUTF-8にしたものです。 空白だけの行を空にすると前後の単独CRとLFがCRLFに結合される場合、その行は原文のまま残し、保護した行数を表示します。
コードの意味は判定しない
構文解析はありません。行頭削除はインデントを変え、タブ展開はTSVの区切りやMakefileに影響する場合があります。Markdownの行末スペースも強制改行になるので、適用前に確認してください。
入力と展開後の両方に上限
入力・出力とも1,000,000 UTF-16コード単位、50,000行までです。タブ展開で上限を超える場合も拒否します。不正な単独サロゲートは位置を表示します。表示は段階的に増やせますが、書き出しは常に全結果です。
画面上の文字幅とは別の計算
タブ位置はUnicodeコードポイントを一列として計算します。漢字、結合文字、絵文字も同じ扱いで、端末やフォントごとの見た目の幅までは再現しません。

空白削除のよくある質問

テキストの余分な空白はどうすれば消せますか?

行末処理を起点に、必要なら行頭処理や連続スペースの集約を有効にします。順序はNBSP、行末、行頭、連続スペース、タブです。最後のタブ展開でできたスペースは同じ処理内では再集約しません。

どの種類の空白文字が対象ですか?

行端処理は半角スペースとタブ、集約は半角スペースだけです。NBSPは専用の置換項目を有効にした場合のみ変わります。全角スペースやゼロ幅文字までまとめて消す動作ではありません。

改行を残して余分な空白だけ削除できますか?

はい。どの選択肢でも元の改行コードと空行を保持します。行の中身が空になっても、その行自体を詰めないため、段落の区切りを残して整理できます。

大量のテキストも処理できますか?

入力と出力それぞれに文字数と行数の上限があります。長い結果は50行と10,000コード単位ずつ表示を増やせます。全文のコピーや保存は表示範囲に制限されません。

改行削除と空白削除を同時にできますか?

ここでは改行を削除する機能を設けていません。混在する改行形式を保ったまま、横方向の空白だけを変更します。行の結合や空行削除には、関連する行処理ツールを使ってください。

予想と違う結果になりましたか?

次の文章も確認して整える

まずサンプルで空白削除の結果を確かめ、自分の文章では必要な項目だけを選んで適用してください。

適用前に確認でき、適用後は一度戻せます。