空白除去&テキストクリーナー

余分なスペース、タブ、空白行を削除して乱雑なテキストをクリーンアップします。

あなたのデータはデバイスを離れません

使い方

  1. 入力エリアにテキストを貼り付けます。
  2. 希望のクリーンアップオプションを選択します(デフォルトですべてチェック済み)。
  3. テキストをクリーンをクリックして処理します。
  4. クリーンな結果をコピーまたはダウンロードします。

よくある質問

スペースとして何がカウントされますか?

スペース、タブ、改行不可のスペース、その他のUnicodeスペース文字。改行は「空白行」と「改行を折りたたむ」オプションを介して個別に処理されます。

このツールはコンテンツを変更しますか?

いいえ。スペース文字のみを削除または折りたたみます。単語、句読点、その他のコンテンツはそのまま残ります。

コードに使用できますか?

可能ですが、注意が必要です · 先頭スペースを削除するとコードのインデントが破壊されます。クリーンアップ対象を正確に制御するには、個別のチェックボックスを使用してください。

「ホワイトスペース」の実際の意味

ホワイトスペース文字とは、テキストのレンダリング時に可視グリフの代わりに空白スペースを生成する文字で、単語の区切り、行のインデント、段落の区切りに使われる。UnicodeキャラクターデータベースはちょうどU+コードポイント25個に正式なWhite_Spaceプロパティを割り当てている。よく知られているもの(スペース、タブ、改行、キャリッジリターン)がほとんどのケースを占めるが、全リストには非改行スペース(U+00A0)、狭い非改行スペース(U+202F)、U+2000–U+200A範囲の11の欧文タイポグラフィスペース、行区切り・段落区切り(U+2028、U+2029)、数学用中スペース(U+205F)、CJK句読点後に使われる全角スペース(U+3000)も含まれる。

別のグループは不可視に見えるが、Unicodeではホワイトスペースに分類されない:バイトオーダーマーク(U+FEFF)、ゼロ幅スペース(U+200B)、ゼロ幅接合子・非接合子(U+200D、U+200C)、ワードジョイナー(U+2060)、ソフトハイフン(U+00AD)だ。これらはフォーマット制御文字であってスペースではない。「テキストをクリーニングしたのに何かおかしい」という報告の大部分はこれらのどれかに起因する。

このツールの機能:オプション別説明

6つのオプションはすべて独立したトグルで(スキップしたいものはチェックを外す)、それぞれ貼り付けたテキストにのみ適用される。何もアップロードされない;クリーニングはJavaScriptの正規表現パスを使ってブラウザ内で行われる。

使う場面

よくある落とし穴

簡単な技術的背景

このツールはJavaScriptの組み込み正規表現エンジンを使ってすべてブラウザ内で実行される。モダンなエンジン(2015年頃以降のすべてのエバーグリーンブラウザ)のString.prototype.trim()は非改行スペースとバイトオーダーマークの両方を除去する。ECMAScriptの仕様がtrimセットをWhiteSpaceおよびLineTerminatorプロダクションの和集合として定義しているからだ。このリストはタブ、プレーンスペース、NBSP、BOM、欧文タイポグラフィスペース、CR / LF / LS / PS改行をカバーしている。唯一除外されるUnicodeホワイトスペース文字はU+0085(NEL)で、EBCDICから継承された珍しい文字で現代のテキストにはほとんど現れない。

大きな入力の場合、処理の遅い部分は正規表現パスではなく、結果をtextareaに書き戻しDOMを再レンダリングすることだ。数メガバイト程度の入力は最新のラップトップで通常問題ない;それを超える場合はコマンドラインツール(trsedawk、または短いPythonスクリプト)の方が通常速い。

その他の質問

通常のスペースと非改行スペースの違いは?

幅は同じようにレンダリングされるが、非改行スペース(NBSP、U+00A0)はレンダラーにその箇所で改行しないよう伝える。Word、Google Docs、多くのCMSは敬称と姓の間(Mr. Smith)、数値と単位の間(10 km)、または通貨記号の前後に挿入する。これが貼り付けたテキストで最も一般的に見つかる「奇妙な」文字で、2つの単語の間の同じ見た目のギャップがプレーンスペース向けの正規表現に引っかからない理由だ。

ゼロ幅文字やバイトオーダーマークは削除されるか?

JavaScriptのホワイトスペース処理は通常バイトオーダーマーク(U+FEFF)を捕捉する。ゼロ幅スペース(U+200B)、ゼロ幅接合子(U+200D)、ゼロ幅非接合子(U+200C)、ワードジョイナー(U+2060)、ソフトハイフン(U+00AD)は捕捉しない。Unicodeはこれらをホワイトスペースとして分類していないため、設計上ホワイトスペースパスをすり抜ける。これらのどれかがテキストに含まれていると思う場合は、代わりに不可視文字インスペクターが必要だ。

空白行と連続改行が2つの別オプションなのはなぜか?

「空白行を削除」はすべての空行を削除する。結果は段落区切りのない1つの連続したテキストブロックになる。「複数改行を1つに圧縮」は段落間の改行1つを維持し、余分なものだけを削除する。出力で読みやすい段落を保ちたい場合は最初のオプションをオフにして2番目を使う。

文字数制限はあるか?

ハード制限はない。ツールは最新のラップトップで数万文字から数百万文字の範囲のテキストを問題なく処理できる。制限はブラウザのtextareaのパフォーマンスだ:非常に大きな貼り付けはクリーニングステップではなくタイピング中またはコピー中にラグが生じる。

何かサーバーに送信されるか?

いいえ。テキストはブラウザから出ることはない。クリーニングはJavaScriptでローカルに実行され、結果は同じページのtextareaに書き戻される。ロードされた後はオフラインで動作する。同じことがAbsolutoolのすべてのツールに当てはまる。

関連ツール

大文字小文字変換 フリーワード&文字カウンター・オンライン 行ソーター