過去問解きまくり研究所 ホーム

基礎理論|令和元年度 秋期 ITパスポート試験(特別措置試験) 問99

ワイルドカードに関する次の記述中のa,bに入れる字句の適切な組合せはどれか。

任意の1文字を表す“?”と,長さゼロ以上の任意の文字列を表す“*”を使った文字列の検索について考える。  a  では,“データ”を含む全ての文字列が該当する。また,  b  では,“データ”で終わる全ての文字列が該当する。

ab
?データ*?データ
?データ**データ
*データ*?データ
*データ**データ

解説

含むなら前後に星印を、終わるなら前だけに星印を置きます。

ワイルドカードは、文字の代わりに置いて、あいまいなまま探すための記号です。疑問符は任意の1文字を表し、星印は長さゼロ以上の任意の文字列を表します。星印はゼロ文字でもよい、という点が要になります。この違いが答えを分けます。データという語を含む文字列をすべて拾いたいときは、前にも後ろにも何が来てもよいので、両側に星印を置きます。前が空でも後ろが空でも当たるので、データという語そのものも含めて拾えます。データで終わる文字列を拾いたいときは、前だけに星印を置きます。後ろに何も続かないという条件になるので、末尾がその語で終わるものだけが当たります。疑問符を使うと、そこにちょうど1文字あることを求めてしまい、拾える範囲がぐっと狭くなります。よって最も適切なのは、両方とも星印を前に置いた組合せです。

ほかの選択肢はなぜ違うのか

この問題に関係する言葉

出典:令和元年度 秋期 ITパスポート試験(特別措置試験) 問99(改変:原典の図表をテキストに書き起こした)

この問題を演習で解く

同じ単元をまとめて解くなら基礎理論へ。

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)