テキストの検索と置換

貼り付けたテキスト内の単語・文字・パターンをすべて置換または削除します — 大文字小文字の区別や正規表現にも対応。

1,138回閲覧

検索と置換の仕組み

プレーンテキスト検索は、入力した文字列と完全に一致する箇所だけを見つけます — 「cat」を検索すると「cat」は見つかりますが、それ以外は見つかりません。正規表現モードは、検索欄をそのままの文字列ではなくパターンの記述に変えます。1つの厳密な並びに一致させるのではなく、テキストの種類全体に一致させます。\d+ は「1つ以上の数字」、\s+ は「1つ以上の空白文字」、[^\w\s] は「任意の句読点または記号」を意味します。これにより、文書内のすべての電話番号、すべての余分な空白、またはすべての通貨記号を、個別に何十回もリテラル置換を行う代わりに、一度の処理で置き換えられます。

具体例:エクスポートされたメールアドレスのリストで、各アドレスの後ろに余分なセミコロンと数の異なる空白が続いている場合。リテラルな検索・置換では、それぞれ固有のケースごとに1つずつルールが必要になりますが、;\s*(セミコロンの後に0個以上の空白が続く)のような正規表現を使えば、各アドレスの後に空白がいくつ続くかに関わらず、すべての箇所を一度の操作で削除できます。

知っておくべきこと

  • 大文字・小文字の区別が重要です: 大文字小文字を区別する設定で「Ankara」を検索しても「ankara」や「ANKARA」は見つかりません — テキスト全体で大文字・小文字を区別せずに検索したい場合は、この設定をオフにしてください。
  • 正規表現には特殊文字があります: . * + ? ( ) [ ] { } のような記号はパターン内で特別な意味を持ちます。これらを文字どおりに一致させるには、バックスラッシュでエスケープしてください(例えば \. は「任意の文字」ではなく実際のピリオドに一致します)。
  • 置換欄を空にすると削除されます: 置換後の値は必須ではありません — 欄を空欄のままにすると、一致箇所がすべて削除されます。不要な文字を完全に取り除くもっとも速い方法です。
  • 結果はリアルタイムで更新されます: 別途「プレビュー」の手順を踏まなくても、出力をコピーする前にパターンが意図どおりに一致しているかを確認できます。
  • 処理は一度に1回です: このツールは一度に1つの検索・置換ルールのみを適用します。複数の手順が必要なクリーニング(例えば余分な空白を削除してから引用符を修正するなど)の場合は、ルールごとにツールを実行し、ある処理の出力を次の処理の入力にしてください。

プレーンテキストモードと正規表現モードが両方存在するのは、それぞれ異なる問題を解決するためです。プレーンテキスト検索は、会社名、特定の誤字、繰り返される法的免責事項など、固定されたフレーズに対して予測可能で安全です。一方、正規表現は、削除したいものが固定された文字列ではなく「任意の数字の並び」や「かっこの中のすべて」のような「形」である場合に、予測可能性を多少犠牲にする代わりに非常に高い柔軟性をもたらします。どちらのモードが自分の作業に適しているかを知っておけば、リテラルな一致で十分な場面で脆弱なパターンを書いてしまうことを避けられます。

よくある質問

文字を置換せずに削除するにはどうすればいいですか?

「置換後」欄を空欄のままにしてください — 「検索」欄に一致するすべての箇所が削除されます。繰り返し現れる記号、透かし文言、余分な文字をテキスト全体から一度に取り除く、もっとも速い方法です。

正規表現モードは何を可能にしますか?

「検索」欄をJavaScriptの正規表現として扱うため、固定された文字列の代わりに \d+(任意の数字)や [^\w\s](句読点)のようなパターンに一致させることができます。これにより、バリエーションごとに個別のリテラル置換を書く代わりに、1つのルールでテキスト内のすべての一致するケースをカバーできます。

私のテキストはアップロードされますか?

いいえ — 置換は、入力と同時にブラウザ内でJavaScriptを使ってローカルに行われます。何もお使いの端末の外に出ることはなく、ページを閉じた瞬間にテキストは消えます。

なぜ「Ankara」を検索しても「ankara」は見つからないのですか?

大文字・小文字を区別する照合では、既定で大文字と小文字が異なる文字として扱われるため、「Ankara」と「ankara」は2つの異なる文字列とみなされます。大文字・小文字の違いを完全に無視して、表記に関わらずすべてのバリエーションを検出したい場合は、この設定をオフにしてください。

ピリオドやかっこなどの特殊文字を文字どおりに検索するにはどうすればいいですか?

正規表現モードでは、. * + ? ( ) [ ] { } のような文字は特別な意味を持ちます — 例えばピリオドは通常「任意の1文字」を意味し、文字どおりのピリオドではありません。文字どおりに一致させるには、その文字の前にバックスラッシュを付けてください:\. は実際のピリオドに、\( は実際の開きかっこに一致します。

コメント

まだコメントはありません — 最初のコメントを書いてみましょう!

関連ツール