Wordそのもの、またはワードマクロの楽しさは、ワイルドカードの理解と比例します!!
さて、ワイルドカードの置換・検索を学びはじめると気がつくのですが、ゼロ文字以上の特定の文字列を探す検索式がないのですね。
たとえば、「ジャッキーチェン」を探す場合。
記載には多少の揺れがありまして、
「ジャッキーチェン」
「ジャッキー□チェン」 (□は全角スペース)
「ジャッキー_チェン」 (_は半角スペース)
「ジャッキー□_チェン」
「ジャッキー□□チェン」
などがあるとしましょう。
これらをすべて検索するワイルドカードの検索式を考えてみましょう。
「ゼロ文字以上の任意の文字」は、「*」がありますから、よくある検索式は、以下の通り。
検索する文字列: ジャッキー*チェン
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20110317/07/gidgeerock/dc/d7/p/t02200135_0726044611110981141.png?caw=800)
これでもできますよ。
つまり、ワイルドカードの記号である「アスタリスク:*」が、ゼロ文字以上のどのような文字にも対応するので、たとえば、
アスタリスクがゼロ文字(何にも対応しない場合) →「ジャッキーチェン」
アスタリスクが全角スペース(□)1文字の場合 →「ジャッキー□チェン」
となります
ただし、アスタリスクは複数の文字列や改行マークまで含むことがあります。
よって、
「私は、ジャッキーのファンクラブに入りました。(改行)
ジャッキーチェンは世界的なアクションスターです。」
の文章では、以下のような選択がされてしまいます。
「私は、ジャッキーのファンクラブに入りました。(改行)
ジャッキーチェンは世界的なアクションスターです。」
アスタリスクが、「のファンクラブに入りました。(改行)ジャッキー」に対応しているのですね。
なので、正確に「ジャッキーチェン」や「ジャッキー□チェン」だけに検索対象を絞り込むことができないのです。
あるいは、以下のような検索式もありますね。
検索する文字列: ジャッキー[_□]{1,}チェン
(上記で、_は半角スペース、□は全角スペース)
この場合には、「ジャッキーチェン」が検索対象からはずれてしまいます。
なぜなら、上記では、ジャッキーとチェンの間に、1文字以上の半角・全角スペースがはいっているから。
というわけで、1つの検索式だけで様々なパターンを網羅するにはどうしたらいいのでしょうか。
次回、解決策を紹介します。
▼関連記事
ワイルドカードの検索・置換の目次
ワイルドカードの基本 (第4回ワードマクロ勉強会での配付資料)
第4回ワードマクロ勉強会の目次 (ワイルドカードの検索の勉強をしました)
小文字で始まる文章を探すワイルドカード