セル内の「?」以降をまとめて削除するワイルドカード活用法

文字列の検索・置換には「ワイルドカード」が便利ですが、「*」や「?」そのものを検索したいとき、ワイルドカードを使った実務で使える検索・置換方法を紹介します。

ワイルドカード 意味
*(アスタリスク) 任意の文字列
?(クエスチョンマーク) 任意の1文字

例えば「*部」で検索すると、「営業部」「マーケティング部」「総務部」といったように、最後に「部」が付くすべての文字列がヒットします。一方で「??部」と検索すると、「○○部」(2文字+最後が「部」の文字列)だけ、つまり「営業部」「総務部」などがヒットします。

では、「*」や「?」そのものを検索したいときは、どうすればいいのでしょうか? さらに「?」以降の文字列をまとめて削除(置換)したい場合を紹介します。

 

○「~」を前に付ければ通常の文字に

ここでは例として、以下のような文字列の「?」以降をまとめて削除します。WebサイトのURLでよく見かけますね。

/column/5964/index.html?usqp=mq331AQGCAEYASAB

ワイルドカードである「?」を通常の文字として検索するには、「~」(チルダ)を前に付けて「~?」を検索文字列として指定します。また、「?」以降の文字列は「~?*」で表せます。これを空白の文字列と置換すれば、まとめて削除できます。

1.「?」を通常の文字として検索する

 

 

 

 

 

[検索と置換]ダイアログボックスの[検索]タブを表示しました。普通に「?」を検索すると、任意の1文字を含む文字列=すべての文字列(セル)がヒットしてしまいます。

 

 

 

 

 

そこで「~」を前に付けた「~?」を検索文字列として指定し、[次を検索]をクリックします。

 

 

 

 

 

すると「?」を含む文字列が順にヒットします。

 

 

2.「?」以降の文字列を削除する

 

 

 

 

 

さらに「?」以降の文字列を削除します。[検索と置換]ダイアログボックスの[置換]タブを表示し、検索文字列として「~?*」、置換文字列として空白を指定してから[すべて置換]をクリックします。

 

 

 

 

 

「?」以降の文字列がまとめて削除されました。

この例ではURLの不要な文字列(パラメータ)を一括削除でました。