文字列データ型の式がパターンを満たすかどうかを調べるには、Like 演算子を使用できます。
Like
は 2 つのオペランドを受け取ります。 左オペランドは文字列式で、右側のオペランドは照合に使用するパターンを含む文字列です。
Like
は、文字列式がパターンを満たすかどうかを示す Boolean
値を返します。
文字列式の各文字を、特定の文字、ワイルドカード文字、文字リスト、または文字範囲と照合できます。 パターン文字列内の仕様の位置は、文字列式で一致する文字の位置に対応します。
文字列式の文字を特定の文字と照合するには
パターン文字列に特定の文字を直接配置します。 一部の特殊文字は角かっこ ([ ]
) で囲む必要があります。 詳細については、「 Like 演算子」を参照してください。
次の例では、 myString
が 1 文字の H
で構成されているかどうかをテストします。
Dim sMatch As Boolean = myString Like "H"
文字列式の文字をワイルドカード文字と照合するには
パターン文字列に疑問符 (?
) を入力します。 この位置に有効な文字があれば、一致が成功します。
次の例では、 myString
が 1 文字 W
後に任意の値の 2 文字で構成されているかどうかをテストします。
Dim sMatch As Boolean = myString Like "W??"
文字列式の文字を文字の一覧と照合するには
パターン文字列に角かっこ ([ ]
) を入れ、角かっこ内に文字の一覧を配置します。 コンマまたはその他の区切り記号で文字を区切らないでください。 リスト内の任意の 1 文字で一致が成功します。
次の例では、 myString
が有効な文字の後に、 A
、 C
、または E
のいずれかの文字が続いているかどうかをテストします。
Dim sMatch As Boolean = myString Like "?[ACE]"
この一致では大文字と小文字が区別されることに注意してください。
文字列式の文字を一連の文字と照合するには
パターン文字列に角かっこ ([ ]
) を入れ、角かっこの中にハイフン (–
) で区切って、範囲内の最も低い文字と最大の文字を配置します。 範囲内の任意の 1 文字で一致が成功します。
次の例では、myString
num
文字の後に、i
、j
、k
、l
、m
、またはn
のいずれかの文字が続いているかどうかをテストします。
Dim sMatch As Boolean = myString Like "num[i-m]"
この一致では大文字と小文字が区別されることに注意してください。
空の文字列の照合
Like
は、シーケンス []
を長さ 0 の文字列 (""
) として扱います。
[]
を使用して、文字列式全体が空かどうかをテストできますが、文字列式内の特定の位置が空かどうかをテストするために使用することはできません。 空の位置がテストする必要があるオプションの 1 つである場合は、 Like
を複数回使用できます。
文字列式内の文字を文字の一覧に一致させるか、文字を含まない場合
同じ文字列式で
Like
演算子を 2 回呼び出し、 Or 演算子 または OrElse 演算子で 2 つの呼び出しを接続します。最初の
Like
句のパターン文字列には、角かっこ ([ ]
) で囲まれた文字リストを含めます。2 番目の
Like
句のパターン文字列では、問題の位置に文字を配置しないでください。次の例では、7 桁の電話番号
phoneNum
を 3 桁の数字に対してテストし、その後にスペース、ハイフン (–
)、ピリオド (.
)、または文字なしをテストし、その後に正確に 4 桁の数字を入力します。Dim sMatch As Boolean = (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
こちらも参照ください
.NET