コピーペーストテキストから隠れた文字を除去

Webページやドキュメントからテキストをコピーする際に混入するゼロ幅スペース、ノーブレークスペース、BOMなどの隠れた文字を除去します。

Common Characters

詳細な説明

コピーペーストの問題

Webページ、PDF、ワープロ、メッセージアプリからテキストをコピーすると、元の可視テキストには存在しない不可視の文字が頻繁に混入します。これらの隠れた文字は、テキストがすべてのエディタやターミナルで正しく見えるため、診断が非常に困難な微妙なバグを引き起こす可能性があります。

ペーストされたテキストに含まれる一般的な隠れ文字

文字 発生源 影響
NBSP (U+00A0) Webページ、Wordドキュメント 文字列比較やパーサーを壊す
ZWS (U+200B) Webページ、リッチテキスト URL、変数名、正規表現を壊す
ZWJ (U+200D) 絵文字シーケンス、アラビア語テキスト 予期しない文字列長
ZWNJ (U+200C) ペルシア語/アラビア語テキスト トークンマッチングを壊す
SHY (U+00AD) ワープロ 不適切な位置の不可視ハイフン
BOM (U+FEFF) メモ帳(Windows)、一部のエディタ シェルスクリプト、JSONを壊す

クリーニングの手順

  1. 疑わしいテキストをホワイトスペースビジュアライザーの入力パネルに貼り付けます。
  2. 可視化出力を確認 — 隠れた文字が[ZWS]、°、[BOM]、[SHY]などの色分けされたマーカーとして表示されます。
  3. 統計を確認して、各タイプが正確にいくつ存在するかを確認します。
  4. Cleanセクションで削除する文字タイプを選択します。
  5. Cleanをクリックして除去し、Copy Cleanedでサニタイズされたテキストを取得します。

予防のヒント

外部ソースからのテキストを扱う場合は、コードや設定で使用する前に必ずビジュアライザーで確認してください。String Escape/Unescapeツールも文字列内の正確な文字シーケンスを確認するのに役立ち、Word & Character Counterは予期しない文字数の差異を明らかにできます。

ユースケース

データエンジニアがAPIドキュメントをYAML設定ファイルに貼り付けると、パーサーが暗号的なエラーで失敗します。ホワイトスペースビジュアライザーが、ConfluenceのWikiページからコピーされた3つのゼロ幅スペースとBOM文字を検出します。クリーニング後、YAMLが正しくパースされます。

試してみる — Whitespace Visualizer

フルツールを開く