Tips

ワイルドカードを使用した文字列の比較

日付2009/05/08
ID75708 (英語原文参照)
バージョン11
プラットフォームMac & Win

ワイルドカード文字の@を使用する場合、演算子の左右どちらの文字列がワイルドカードを含んでいるのかによって、結果が異なるので注意が必要です。

C_BOOLEAN($test1;$test2)

$test1:="abc@"="abc" `結果はfalse
$test2:="abc"="abc@" `結果はtrue

If ($test1=$test2)
 ALERT("The tests are the same.")
Else
 ALERT("The tests are different.")
End if

上記のコードでは、$test1と$test2の評価結果が異なっており、判定は"The tests are different"となります。これは等号の右側で使用された@は不特定数の文字に合致するのに対し、等号の左側で使用された@は一文字に合致するためです。