文章を壊さない検索と置換:単語単位・大文字小文字・正規表現
文章を安全に検索と置換するには、結果をコピーする前に一致箇所を確認してください。単純な置換では、長い単語の内側にある文字列も含めてすべての出現箇所が変わります。人名や短い単語には単語単位の一致を有効にし、一致数が想定どおりかを確認しましょう。
検索と置換単語をまとめて置き換えたい無料で使う単純な置換で文章が壊れる理由
文「The category cat sat」で cat を dog に置換する例を考えます。単純な置換では、category の先頭にある c、a、t の並びも含めてすべて変わり、結果は「The dogegory dog sat」になります。ツールは指定どおり、一致したものをすべて置き換えただけです。
「単語単位で一致」にチェックを入れると、一致が長い単語の内側にあるものは除外されます。同じ置換でも「The category dog sat」になります。どの言語の文字や数字も単語の一部として扱われるため、caf は café の中には一致しません。
名前や短い単語、略語では、単語単位の一致を基本にしてください。製品コードの一覧で接頭辞だけを変えたいなど、部分一致が必要な場合はオフにします。
大文字と小文字を区別する
初期設定では大文字と小文字を区別しないため、Cat、cat、CAT がすべて一致します。同じ単語が異なる書き方で入力されている場合には便利ですが、残したい単語まで変わってしまうこともあります。たとえば Bill(人名)と bill(請求書)は、どちらも一致してしまいます。
大文字かどうかで意味が変わる場合は、「大文字と小文字を区別」をオンにしてください。ハイライトされたプレビューで、そのルールによって変わる単語を正確に確認できます。
正規表現とグループ
「正規表現」をオンにすると、検索欄の内容は単なる文字列ではなくパターンとして扱われます。丸かっこで一致の一部を取り出し、置換欄では取り出した文字列を $1、$2 などで参照できます。検索に (\w+)@(\w+)、置換に $2 at $1 を指定すると、ana@site が site at ana に変わります。$& は一致箇所全体を表します。
特殊文字も同様に意味が変わります。正規表現をオフにしているときはピリオドはただの記号ですが、オンにすると任意の1文字に一致します。そのため 1.5 は 1x5 にも一致します。文章に特殊文字が含まれるかわからない場合は、正規表現をオフのまま入力してください。パターンの例は検索と置換の正規表現の基本にまとめています。
置換欄のドル記号
正規表現をオフにしている場合、置換欄の内容はそのまま使われるため、$5 は $5 として挿入されます。正規表現をオンにすると、ドル記号には意味があります。$1 はグループ、$& は一致箇所全体、$$ はドル記号1つを表します。正規表現をオンにした状態で $5 という文字を挿入するには、$$5 と入力します。
改行とタブ
置換欄に改行やタブを入れるには、Read \n and \t in Replace をオンにしてください。この設定をオンにすると、2つのコードがそれぞれ改行とタブとして挿入されます。改行を検索するには、正規表現をオンにして検索欄に \n と入力します。通常の検索欄では \n は2文字として扱われるためです。PDFやWebページからコピーして行が途中で切れている場合は、先に貼り付けテキストの修正で整えてください。
コピーする前の確認事項
結果をコピーする前に、次の4点を確認してください。
- 一致数。12箇所の変更を想定していたのに40件と表示された場合、別の単語の内側に一致している可能性があります。
- ハイライトされたプレビュー。元の文章で一致した箇所がすべて示されるため、意図しない箇所も確認できます。
- 結果。変更された単語だけでなく、その前後の文も読んでください。
- 元の文章。作業前のテキストは必ず残しておいてください。このツールは履歴を保存しないため、元の文章だけが取り消し手段になります。
長い文書の場合は、変更前と変更後のテキストをテキスト比較に貼り付けてください。変更された行がすべて表示され、各行の中で変わった単語もマークされます。
fixmintでの操作手順
- 入力テキストに文章を貼り付けます。
- 検索に変更したい単語を、置換後の文字列に新しい単語を入力します。文字列を削除したい場合は、置換後の文字列を空欄のままにします。
- 単語単位で変えたい場合は単語単位で一致にチェックを入れ、大文字と小文字で意味が変わる場合は大文字と小文字を区別にもチェックを入れます。通常の単語を検索する場合は、正規表現をオフのままにします。
- 一致数とハイライトされた一致箇所を確認し、結果をコピーまたは.txtをダウンロードを選びます。
特殊なケース
- 置換欄が空欄の場合。 一致した箇所が削除されます。余分な単語を取り除くのに便利ですが、先に件数を確認してください。
- 置換後の文字列に検索語が含まれる場合。 置換は元の文章に対して1回だけ実行されます。banana の a を aa に置換すると baanaanaa になり、無限に繰り返されることはありません。
- 無効なパターン。
(abcのように閉じていないグループは、短いメッセージで示されます。パターンが正しくなるまで結果は表示されません。 - 非常に多くの一致。 プレビューでハイライトされるのは最初の5,000件ですが、すべての一致が置換されます。
よくある質問
Q. 別の単語の中まで変わってしまったのはなぜですか。
単語単位で一致がオフになっていたためです。オンにしてから、想定した件数と比べて確認してください。
Q. ピリオドが想定外の文字に一致するのはなぜですか。
正規表現がオンになっているため、ピリオドは任意の1文字に一致します。通常の文字列として扱う場合は正規表現をオフにするか、実際のピリオドに一致させるために \. と入力してください。
Q. 改行を検索するにはどうすればよいですか。
正規表現をオンにして、検索欄に \n と入力してください。
英語原文をもとに、AIの支援を受けて翻訳しています。
コメント
まだコメントはありません。最初のコメントを書いてみましょう。


