令和1年度 秋期 ITパスポート 問99(テクノロジ)
出典:令和元年度 秋期 ITパスポート試験 公開問題 問99(独立行政法人情報処理推進機構(IPA))
ワイルドカードに関する次の記述中のa,bに入れる字句の適切な組合せはどれか。
任意の1文字を表す“?”と,長さゼロ以上の任意の文字列を表す“*”を使った文字列の検索について考える。[ a ]では,“データ”を含む全ての文字列が該当する。また,[ b ]では,“データ”で終わる全ての文字列が該当する。
| 選択肢 | a | b |
|---|---|---|
| ア | ?データ* | ?データ |
| イ | ?データ* | *データ |
| ウ | *データ* | ?データ |
| エ | *データ* | *データ |
正解と解説を見る
正解:エ
【ワイルドカードとは】
ワイルドカードは、文字列を検索するときに、任意の文字を表すために使う記号です。この問題では、次のように定めています。
・"?":任意の1文字(ちょうど1文字)
・"*":長さ0以上の任意の文字列(何もなくてもよい)
【空欄の検討】
a:「データ」を含む全ての文字列を探すには、「データ」の前にも後にも、何もなくてもよい任意の文字列が来られるようにする必要があるので、*データ* です。?データ* では、「データ」の前にちょうど1文字が必要になり、「データベース」のように「データ」で始まる文字列が含まれません。
b:「データ」で終わる全ての文字列を探すには、「データ」の前に何もなくてもよい任意の文字列が来られるようにするので、*データ です。?データ では、「データ」の前にちょうど1文字ある、4文字の文字列しか該当しません。
aが *データ*、bが *データ の組合せです。よって、正解は選択肢エです。