ワイルドカードを使用して検索や置換をする場合の「開始位置」が異なると、結果も異なります。これは検索全般に言えることなので今さらかも知れませんが、けっこう重要なので記事にしました。
検索や置換で同じ結果を求めるのであれば、[検索と置換]ダイアログボックスを開く時のカーソルの位置を毎回確認しましょう。
文書全体で一括置換をするのであれば、文書の最初にカーソルを置いてから実行するのがいいと思います。
<目次>
文章校正としてワイルドカードを使う例
以下の場合を見てみましょう。単純化するために、文章が列挙されているファイルを用意しました。
Wordの文章校正機能で、文頭が小文字になっている単語に青い波線が引かれています。
これをワイルドカードで探してみます。
ワイルドカードを用いた検索・置換は以下の通りです。見つけたところを蛍光ペンで着色します。
検索する文字列:^13[a-z] 置換後の文字列:(空欄+蛍光ペン)
Wordのワイルドカード検索では、「段落先頭の文字」を「改行記号の直後の文字」として指定します。今回探すのは、段落先頭が小文字ですから、「改行記号の直後の小文字の半角アルファベット」を探してみます。
置換例1
カーソルを以下のように段落の途中に置きます。特に、検索対象となる「段落先頭の小文字」にかかるようにカーソルを置きます。
すると、置換結果は以下の通りとなります。
そうなんです。カーソルが置かれている箇所の文字は検索されませんでした。
もともと検索対象となっているのは、「改行記号」+「半角アルファベットの小文字1文字」です。
カーソル位置は、「改行記号」の後にあるので、検索開始位置が「半角アルファベットの小文字1文字]の直前から始まっているわけです。
「文書全体」を検索対象とした場合であっても、これでは探すことができません。
なので、上記のような結果になりました。
あと気になるのが、文書の先頭の小文字ですね。
ここも気を付けなければなりません。
this の t の直前には改行記号がありませんから、「改行記号」+「半角アルファベットの小文字1文字」を見つけられないのです!
置換例2
文書の先頭にカーソルを置きます。ショートカットキーの[Ctrl] + [Home] を押せばカーソルが移動します。
置換結果は以下の通りです。4箇所に着色されました。
文書の先頭の小文字はやはり着色されません。
まとめ
- 検索や置換をする際には、[検索と置換]ダイアログボックスを立ち上げる時のカーソル位置に注意します。このカーソル位置から検索が開始されるからです。
- 検索する文字列の設定によっては、文書先頭にある対象箇所を検索できないことがあります。今回のように「改行記号の直後の半角アルファベットの小文字」の場合がそれに該当します。