ロゴ
ToolkitsLabEfficiency Hub
PR広告を含む

正規表現の置換・変換ツールゼロ幅スペース・不可視文字の削除にも対応

正規表現でテキストを一括置換・変換できる無料ツールです。 ゼロ幅スペース(U+200B)やBOMなどの不可視文字をワンクリックで検出・削除し、混入した原因と位置も確認できます。

入力内容は外部に送信されません。

詳しく
0文字0行
置換設定
Flags(フラグ)

g:すべて置換(グローバル)

/(未入力)/g

マッチ件数

0

置換前

0字

置換後

0字

置換結果
ここに結果が表示されます...
Quick Presets

正規表現による置換・変換と、ゼロ幅スペース(不可視文字)の削除を1ページで

本ツールは、強力な検索パターンである「正規表現(Regex)」でテキスト内の一致箇所を一括置換・変換できるほか、ゼロ幅スペース(U+200B)をはじめとする不可視文字を正規表現を書かずに検出・削除できる3つのモードを備えています。

①正規表現で置換:マッチ件数・ハイライトプレビュー・キャプチャグループ($1・$2…)の一覧を見ながら、通常のテキストエディタでは難しい「数字だけを対象にする」「行末の文字だけを消す」「マッチした部分を再利用する」といった編集が行えます。

②ゼロ幅スペース削除:テキストを貼り付けるだけで、ゼロ幅スペース・BOM・双方向制御文字・制御文字・タグ文字などを種類ごとに検出し、何個あるか、何行目の何文字目にあるか、なぜ混入したかまで表示します。削除する種類はチェックボックスで選べ、改行コードの統一や行末空白の削除も同時に行えます。

③エスケープ変換:そのまま検索したい文字列を貼り付けると、メタ文字を自動エスケープした正規表現パターンを生成します。すべての処理はブラウザ内で完結し、入力内容が外部に送信されることはありません。

こんなシーンで便利です

ゼロ幅スペースなど不可視文字を削除したい時に

Webページやチャット、PDFからコピーしたテキストに混入したゼロ幅スペース(U+200B)やBOMを、正規表現を書かずにワンクリックで検出・削除できます。

「見た目は同じなのに一致しない」原因を突き止めたい時に

どの不可視文字が何個、何行目の何文字目にあるかを一覧表示し、該当箇所を可視化します。比較処理やパースエラーの原因調査にそのまま使えます。

HTMLタグの除去やログ・CSVの整形をしたい時に

不要なHTMLタグの一括削除、連続スペースの圧縮、行頭・行末の空白削除、重複行の除去などをクイックプリセットから選ぶだけで実行できます。

URLやメールアドレスなど特定のパターンを抽出したい時に

マッチ一覧にヒットした文字列とキャプチャグループが並ぶため、そのままコピーして抽出結果として利用できます。

正規表現のメタ文字をエスケープしたい時に

ピリオドやカッコ、ドル記号などを含む文字列をそのまま検索できるパターンへ自動変換します。置換文字列用の「$$」エスケープも同時に生成します。

ゼロ幅スペースを意図して入力したい時に

ゼロ幅スペースやワードジョイナー、ノーブレークスペースをワンクリックでコピーできます。長い英数字の折り返し制御などに利用できます。

使い方は簡単 5ステップ

  1. 上部のタブから「正規表現で置換」「ゼロ幅スペース削除」「エスケープ変換」を選びます。
  2. 置換モードでは、入力テキストを貼り付け、Pattern(検索パターン)とReplacement(置換後の文字列)を入力し、フラグをボタンで選択します。
  3. マッチ件数・ハイライト・キャプチャグループの一覧を確認しながら、置換結果をコピーします。
  4. ゼロ幅スペース削除モードでは、テキストを貼り付けて削除したい文字の種類にチェックを入れるだけで、削除後のテキストが表示されます。
  5. エスケープ変換モードでは、文字列を貼り付けるとエスケープ済みパターンが生成され、ボタン1つで置換タブに読み込めます。

※正規表現が苦手な方は、クイックプリセットを選ぶだけでパターン・置換文字列・フラグが自動入力されます。不可視文字の削除は正規表現の知識なしで完結します。

ご利用時の注意点

  • フラグの意味:g(すべて置換)、i(大文字小文字を区別しない)、m(^と$を行単位で扱う)、s(.を改行にもマッチ)、u(Unicode対応)、y(sticky)。ボタンで切り替えられ、未指定の場合は最初の1箇所だけが置換されます。
  • エスケープ処理:ピリオド(.)や角カッコ([)など正規表現の記号そのものを探したい場合はバックスラッシュでのエスケープが必要です。「エスケープ変換」タブで自動生成できます。
  • 後方参照:置換後の文字列で「$1」「$2」を使うと、検索パターン内のカッコ ( ) で囲った部分を再利用できます。置換後に「$」自体を出力したい場合は「$$」と記述します。
  • 制御文字の扱い:不可視文字の削除ではタブ(U+0009)・改行(U+000A)・復帰(U+000D)は削除対象に含めず、テキストの構造を保持します。
  • 異体字セレクタ(U+FE00〜U+FE0F など)は﨑・𠮷のような異体字や絵文字の字形指定に使われるため、既定では削除しません。必要な場合のみチェックを入れてください。
  • 20万文字を超える入力ではリアルタイム処理を自動停止し、「置換実行」ボタンでの手動処理に切り替わります。
  • 完全無料・安全:入力したテキストは一切外部に送信されない、ブラウザ完結型の設計です。

不可視文字・ゼロ幅文字の一覧:コードポイントと主な混入原因

本ツールが検出・削除できる不可視文字の一覧です。「見た目は同じなのに一致しない」「パースエラーになる」といった症状の原因調査にご利用ください。

コードポイント文字の名称主な混入原因・用途既定で削除
U+200Bゼロ幅スペース(ZWSP)Webページ・チャット・CMSからのコピー。折り返し位置の調整やコピー対策で埋め込まれる削除する
U+200Cゼロ幅非接合子(ZWNJ)アラビア文字・インド系文字の表示制御。絵文字の結合解除削除する
U+200Dゼロ幅接合子(ZWJ)家族絵文字などの結合に使用。通常の日本語文には不要削除する
U+2060ワードジョイナー(WJ)折り返しを禁止する目的で挿入される削除する
U+FEFFBOM/ゼロ幅ノーブレークスペースUTF-8ファイルの先頭に付与される。JSON・CSVのパースエラーの定番原因削除する
U+00ADソフトハイフン(SHY)PDFやWordの自動ハイフネーション。コピー時に残る削除する
U+200E / U+200F左から右マーク/右から左マークアラビア語・ヘブライ語混在文書からのコピー削除する
U+202A〜U+202E双方向埋め込み・上書き制御表示順を書き換えるため、ファイル名やコードの偽装にも悪用される削除する
U+2066〜U+2069双方向分離制御双方向テキストの範囲指定。通常の日本語文には不要削除する
U+0000〜U+0008 など制御文字(NULL・BEL・VT・FF など)バイナリ混在のログ、レガシーな文字コード変換削除する
U+E0000〜U+E007Fタグ文字見えない文字列を本文に埋め込む手法で使われる削除する
U+FE00〜U+FE0F異体字セレクタ﨑・𠮷などの異体字、絵文字の字形指定。意図的な使用が多い残す(任意で削除)
U+00A0ノーブレークスペース(NBSP)Word・Excel・Webページからのコピー。半角スペースと見分けがつかない残す(任意で半角化)
U+3000全角スペース日本語の字下げ。意図的な使用が多い残す(任意で半角化)
※タブ(U+0009)・改行(U+000A)・復帰(U+000D)は本文の構造を保つため削除対象に含めていません。「既定で削除」の設定はツール内のチェックボックスで自由に変更できます。

ゼロ幅スペースの削除方法と、実務で効く正規表現の置換パターン

日常的な文字列置換にとどまらず、不可視文字の調査やデータクレンジング、テキスト構造の最適化で役立つ実践的な手法を解説します。

結論:ゼロ幅スペースの削除は「[\u200B-\u200D\u2060\uFEFF\u00AD]」を空文字に置換する

ゼロ幅スペース(U+200B)だけでなく、ゼロ幅非接合子(U+200C)、ゼロ幅接合子(U+200D)、ワードジョイナー(U+2060)、BOM(U+FEFF)、ソフトハイフン(U+00AD)は、いずれも幅を持たないため画面上では完全に判別できません。
そのため1種類ずつ探すのではなく、文字クラスでまとめて指定し、空文字に置換するのが確実です。本ツールの「ゼロ幅スペース削除」タブは、この処理に加えて双方向制御文字・制御文字・タグ文字もまとめて扱い、検出個数と出現位置(何行目の何文字目か)を表示します。処理に使った正規表現もコピーできるため、同じ処理を自分のコードへ組み込めます。

ゼロ幅スペースが混入する原因と、発生しやすい具体的な場面

原因の大半はコピー&ペーストです。具体的には、①WebページのHTMLに折り返し調整用として埋め込まれている、②CMSのリッチテキストエディタが自動挿入する、③PDFやWordからのコピーでソフトハイフンが残る、④UTF-8ファイルの先頭にBOMが付与される、⑤チャットツールやスプレッドシートの貼り付けでノーブレークスペースに変換される、といったパターンです。
結果として、文字列の完全一致検索が失敗する/JSONやCSVのパースでエラーになる/メタディスクリプションの文字数が想定とずれる/変数名やURLに混入してバグになるといった不具合が生じます。「見た目は同じなのに一致しない」ときは、まず不可視文字の混入を疑ってください。

ゼロ幅スペースの入力方法と、意図して使う場合の注意点

ゼロ幅スペースはキーボードから直接入力できないため、文字そのものをコピーして貼り付けるのが最も確実です。本ツールでは各不可視文字をワンクリックでコピーできます。
コード上で扱う場合は、HTMLで「​」または「​」、JavaScript・Python・Javaの文字列リテラルで「\u200B」と記述します。
用途としては、長い英数字やURLの折り返し位置を指定するのが代表的です。ただし検索性やコピー時の取り扱いを損なうため、CSSのword-breakやoverflow-wrapで解決できる場合はそちらを優先し、本文テキストへの埋め込みは最小限にとどめるのが安全です。

実務でよく使う置換・変換パターンのクイックリファレンス

・HTMLタグを除去:<[^>]*> → 空文字(非貪欲な文字クラスでタグだけを削除)
・連続スペースを1つに:[ \t\u3000]{2,} → 半角スペース1つ(改行は維持)
・行頭・行末の空白を削除:^[ \t\u3000]+ / [ \t\u3000]+$ → 空文字(mフラグ必須)
・連続した空行を1行に:\n{3,} → 改行2つ
・改行をすべて削除:\r?\n → 空文字(\r? を付けないとWindowsのCRLFで制御文字が残ります)
・重複した行を1行に:^(.*)(?:\n\1)+$ → $1(mフラグ)
・メールアドレスのマスク:([^@\s]+)@[^\s]+ → [email protected]
・電話番号のハイフン除去:(\d{2,4})-(\d{2,4})-(\d{3,4}) → $1$2$3

先読み・後読みを使って、文脈に依存する文字列だけを置換する

「指定した文字列が直後にある場合のみ置換したい」「含まない場合だけ対象にしたい」という要件には先読み構文が有効です。
特定のクエリパラメータを持つURLだけを変更するなら(?=\?utm_source)のような肯定先読み、特定の属性を持たない要素を対象にするなら(?!class)のような否定先読みを組み合わせます。
文書全体の構造を壊さずに、条件に合致する箇所だけを正確に絞り込めるため、大量のHTMLやログを一括整形する際に有効です。

CSVから特定の列を並び替えてJSON構造へ変換する

カンマ区切りのデータから必要な値だけを抽出し、別の構造へ変換する場面では後方参照が効きます。
検索パターンを([^,]+),([^,]+),([^,\n]+)のように定義し、置換文字列を{"id": "$1", "name": "$2"}の形式に指定すれば、数千行のテキストを一度にプログラマブルなデータ形式へ変換できます。
本ツールのマッチ一覧表では各キャプチャグループに何が入っているかを確認できるため、グループ番号の取り違えによる崩壊を事前に防げます。

よくある失敗と対策

ゼロ幅スペースを1種類だけ削除し、BOMやソフトハイフンが残ってしまう

U+200Bだけを対象に置換したものの、BOM(U+FEFF)やソフトハイフン(U+00AD)、ノーブレークスペース(U+00A0)が残り、結局「一致しない」「パースできない」症状が解消しない失敗です。

💡 対策・解決策を見る▼
不可視文字は複数の種類がまとめて混入するのが普通です。文字クラスで一括指定するか、本ツールの「ゼロ幅スペース削除」タブで種類ごとの検出数を確認し、残っている種類にチェックを入れてから削除してください。

制御文字の一括削除でタブや改行まで消してしまい、テキスト構造が壊れる

制御文字を消す目的で「[\x00-\x1F]」のような広い範囲を指定してしまい、タブ(U+0009)や改行(U+000A)まで削除されて、インデントや行の区切りが失われる失敗です。

💡 対策・解決策を見る▼
タブ・改行・復帰を除外した範囲を指定してください。本ツールの制御文字グループは U+0000〜U+0008、U+000B〜U+000C、U+000E〜U+001F、U+007F〜U+009F のみを対象とし、タブ・改行・復帰は保持します。

エスケープ漏れによる構文エラーや、意図しないテキストの誤置換

ピリオド(.)やプラス(+)、クエスチョン(?)、バックスラッシュ(\)などのメタ文字を文字列として検索しようとしてエスケープを忘れ、構文エラー(SyntaxError)が発生したり、テキスト全体が破壊的に誤置換される失敗です。

💡 対策・解決策を見る▼
「エスケープ変換」タブに検索したい文字列をそのまま貼り付け、生成されたパターンを使用してください。置換前にマッチ件数とハイライトプレビューで対象範囲を確認するのも確実な対策です。

貪欲マッチ(最長一致)によるHTMLタグやテキストの過剰削除

タグの削除や括弧内テキストの置換で量指定子(.*)をそのまま使い、最初と最後のタグの間にある本文まで1つのマッチとして飲み込んでしまい、データが過剰に消失する典型的な失敗です。

💡 対策・解決策を見る▼
「.*?」のような非貪欲マッチや、「<[^>]*>」のように対象外の文字を除外した文字クラスを使ってください。マッチ箇所のハイライトを見れば、意図した範囲に収まっているかを置換前に確認できます。

フラグ(g・m)の指定ミスによる置換漏れ

すべての該当箇所を置換したいのにグローバルフラグ(g)を付け忘れて最初の1箇所しか変わらない、あるいは行頭・行末(^・$)を使う際にマルチラインフラグ(m)を忘れて2行目以降が無視される現象です。

💡 対策・解決策を見る▼
本ツールではフラグをボタンで切り替えられ、それぞれの意味がその場に表示されます。マッチ件数が想定より少ない場合は、gとmのオン・オフを見直してください。

改行削除で「\n」だけを指定し、Windowsの改行コードの一部が残る

CRLF(\r\n)で保存されたテキストに対して「\n」だけを削除対象にしたため、復帰(\r)が残り、見えない文字が本文に混入してしまう失敗です。

💡 対策・解決策を見る▼
改行を扱うパターンでは「\r?\n」と指定してください。本ツールの不可視文字モードには「改行コードをLFに統一(CRLF対策)」のオプションがあり、処理前に正規化できます。

後方参照($1・$2)のグループ番号を間違え、置換後のデータが崩壊する

キャプチャグループの順番を取り違えて指定し、CSVやJSON、ログのタイムスタンプなどの再構成結果が支離滅裂になる失敗です。

💡 対策・解決策を見る▼
マッチ一覧表で各グループ($1・$2…)に実際に何が入っているかを確認してから置換文字列を組み立ててください。パターンは一度に完成させず、段階的に組み立てるのが確実です。

よくある質問(FAQ)

Q.ゼロ幅スペースを削除する方法を教えてください

Q.

A. 本ツールの「ゼロ幅スペース削除」タブにテキストを貼り付けるだけで、ゼロ幅スペース(U+200B)、ゼロ幅非接合子(U+200C)、ゼロ幅接合子(U+200D)、ワードジョイナー(U+2060)、BOM(U+FEFF)、ソフトハイフン(U+00AD)をまとめて検出し、削除後のテキストを表示します。検出件数・文字の名称・何行目の何文字目にあるかまで確認できるため、どこに混入していたかも把握できます。正規表現で処理したい場合は「[\u200B-\u200D\u2060\uFEFF\u00AD]」を空文字に置換してください。

Q.ゼロ幅スペースが混入する原因は何ですか

Q.

A. 最も多いのはWebページやチャット、PDF、CMSのリッチテキストエディタからのコピー&ペーストです。長い英数字の折り返し位置を調整する目的や、テキストの無断コピーを検知する目的で意図的に埋め込まれている場合があります。ほかにも、Word・Excelからの貼り付けではノーブレークスペース(U+00A0)、ファイルの先頭にはBOM(U+FEFF)、アラビア語・ヘブライ語を含む文書からのコピーでは双方向制御文字が混入します。本ツールでは種類ごとに検出数と主な混入原因を表示します。

Q.ゼロ幅スペースはどうやって入力しますか

Q.

A. キーボードから直接入力することはできないため、文字そのものをコピーして貼り付けるのが確実です。本ツールの「ゼロ幅スペース削除」タブ下部に、ゼロ幅スペース(U+200B)・ゼロ幅非接合子・ゼロ幅接合子・ワードジョイナー・ノーブレークスペース・全角スペースをワンクリックでコピーできるボタンを用意しています。HTMLでは「&amp;#8203;」、JavaScriptやPythonの文字列では「\u200B」と書くことでも入力できます。

Q.ゼロ幅スペースを削除しないと何が問題になりますか

Q.

A. 見た目では判別できないため、文字列の完全一致検索やif文の比較が失敗する、JSONやCSVのパースでエラーになる、SEOのタイトルやメタディスクリプションの文字数が想定とずれる、プログラムの変数名やURLに混入してバグになる、といった問題が起きます。特に「見た目は同じなのに一致しない」という症状が出た場合は、不可視文字の混入を最初に疑うのが有効です。

Q.入力したソースコードや個人情報が外部に漏洩する心配はありませんか

Q.

A. 一切ありません。本ツールは完全ローカル処理型の設計で、入力されたテキストや正規表現パターンが外部のサーバーへ送信されることはありません。すべての検索・置換・検査処理はブラウザ内だけで完結し、ページを閉じればデータは即座に消去されます。

Q.正規表現の記号そのものを普通の文字列として検索・置換したいです

Q.

A. 「エスケープ変換」タブに検索したい文字列をそのまま貼り付けると、ピリオド(.)、プラス(+)、クエスチョン(?)、カッコ、角カッコ、波カッコ、キャレット、ドル記号、パイプ、バックスラッシュの13種類のメタ文字を自動でエスケープしたパターンを生成します。生成したパターンはボタン1つで「正規表現で置換」タブに読み込めます。置換後の文字列に「$」を含めたい場合は「$$」と書く必要があるため、そのエスケープ結果も同時に表示します。

Q.マッチした件数や、どこにマッチしたかを確認できますか

Q.

A. できます。「正規表現で置換」タブでは、マッチ件数・置換前後の文字数、マッチ箇所を色付けしたハイライトプレビュー、マッチ内容とキャプチャグループ($1・$2…)を並べた一覧表を表示します。一覧の内容はまとめてコピーできるため、URLやメールアドレスなど特定パターンの抽出用途にもそのまま使えます。

Q.検索パターン内でカッコを使用した部分を置換後に再利用できますか

Q.

A. できます。検索パターン内でカッコ ( ) で囲んでグループ化した部分は、置換後の文字列欄で「$1」「$2」のように指定することで、マッチした内容を保持したまま順序を入れ替えたり、別の形式へ再構成できます。ツールのマッチ一覧表では各グループに何が入っているかを確認できるため、グループ番号の指定ミスを防げます。

Q.大文字と小文字を区別せずに一括置換できますか

Q.

A. できます。フラグのボタンで「i」をオンにすると大文字・小文字の違いを無視してマッチします。あわせて「g(すべて置換)」「m(^と$を行単位で扱う)」「s(.を改行にもマッチさせる)」「u(Unicode対応)」をボタン操作で切り替えられ、それぞれの意味もその場に表示されるため、フラグの書き間違いによる置換漏れを防げます。

Q.文字数の多いテキストでも処理できますか

Q.

A. 処理できます。20万文字を超える場合は、入力のたびに再計算して画面が固まるのを防ぐためリアルタイム処理を自動的に一時停止し、「置換実行」ボタンでまとめて処理する方式に切り替わります。マッチ件数の列挙にも上限を設けているため、巨大なテキストでもブラウザが応答しなくなることはありません。

Q.正規表現に詳しくなくても使えますか

Q.

A. 使えます。「ゼロ幅スペース削除」タブは正規表現を書かずにチェックボックスの操作だけで整形が完了します。「正規表現で置換」タブにも、HTMLタグの除去、連続スペースの圧縮、行頭・行末の空白削除、重複行の除去、メールアドレスのマスクなど実用的なクイックプリセットを用意しており、選ぶだけでパターン・置換文字列・フラグが自動入力されます。

User Feedback & Request

あなたの声で、
このツールをより鋭く。

「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。

フィードバックを送る